美文网首页iOS Developer
Swift中的枚举、公有、私有、弱引用等

Swift中的枚举、公有、私有、弱引用等

作者: 走在路上的小二 | 来源:发表于2016-12-20 17:30 被阅读173次

一、枚举 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: 有什么问题欢迎留言。

相关文章

网友评论

    本文标题:Swift中的枚举、公有、私有、弱引用等

    本文链接:https://www.haomeiwen.com/subject/sicfvttx.html