一、枚举 enum (Int 、String)
** Swfit3 中 枚举类型都是小写,为了规范,尽量和系统保持一致**
// String 类型
enum TestIntType: Int {
case defaultType, twoTypeName, threeTypeName
}
// Int 类型
enum TestStringType: String {
case defaultType = "a", twoTypeName = "b", threeTypeName = "c"
}
二、公有属性和私有属性
** 公有属性:声明一个view**
// 表示testView可以为nil
public var testView: UIView?
// 表示testView不能为nil ,必须有值
public var testView: UIView
** 私有属性:声明一个label**
private var testLabel: UILabel?
** 公有方法**
// 声明一个公有方法,默认是公有方法
func testMethod() {
// code
}
// 或者
public func testMethod() {
// code
}
私有方法
private func testMethod() {
// code
}
三、弱引用: weak的使用
// 协议: optional 代表可选协议
@objc protocol testDelegate {
@objc optional func test() -> Void
}
// weak 修饰协议
weak public var delegate: testDelegate?
// block中修饰self
let NotificationtTest: NSNotification.Name = NSNotification.Name(rawValue: "NotificationtTest")
// 通知
NotificationCenter.default.addObserver(forName: NotificationtTest, object: nil, queue: nil) { [weak self](notification) in // weak修饰self
// 写需要的逻辑
}
四、if 和 guard 的区别
let a = 10
if a > 0 { // 条件成立则执行语句
print(a)
}
var b: String? = nil
guard let c = b else { // 如果条件不成立则执行语句
// 所以这里会执行语句,因为 let c = b 不存在
}
// 即等同于
if b != nil {
} else { // 这里 else 等同于上面guard 条件判断不成立
}
PS: 有什么问题欢迎留言。