美文网首页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