美文网首页
iOS中Swift从开始入门到最后的放弃(七),

iOS中Swift从开始入门到最后的放弃(七),

作者: 刺骨寒 | 来源:发表于2016-09-24 19:23 被阅读45次

    # Swift类

    在 Swift 中类是建立灵活的构建块。类似于常量,变量和函数,用户可以定义的类的属性和方法。Swift给我们提供了声明类,而无需用户创建接口和实现文件的功能。Swift 允许我们创建类作为单个文件和外部接口,将默认在类一次初始化来创建。

    **使用类的好处**

    - 继承获得一个类的属性到其他类

    - 类型转换使用户能够在运行时检查类的类型

    - 初始化器需要处理释放内存资源

    - 引用计数允许类实例有一个以上的参考

    **类和结构的共同特征**

    - 属性被定义为存储值

    - 下标被定义为提供访问值

    - 方法被初始化来改善功能

    - 初始状态是由初始化函数定义

    - 功能被扩大,超出默认值

    - 确认协议功能标准

    **语法**

    Class classname {

    Definition 1

    Definition 2

    ---

    Definition N

    }

    定义类

    class student{

    var studname: String

    var mark: Int

    var mark2: Int

    }

    创建一个实例的语法:

    let studrecord = student()

    示例

    class MarksStruct {

    var mark: Int

    init(mark: Int) {

    self.mark = mark

    }

    }

    class studentMarks {

    var mark = 300

    }

    let marks = studentMarks()

    println("Mark is \(marks.mark)")

    当我们使用 playground 运行上面的程序,我们得到以下结果

    Mark is 300

    访问类属性作为引用类型

    类属性可使用 '.' 语法来访问。属性名称由 "." 分离在实例名后。

    class MarksStruct {

    var mark: Int

    init(mark: Int) {

    self.mark = mark

    }

    }

    class studentMarks {

    var mark1 = 300

    var mark2 = 400

    var mark3 = 900

    }

    let marks = studentMarks()

    println("Mark1 is \(marks.mark1)")

    println("Mark2 is \(marks.mark2)")

    println("Mark3 is \(marks.mark3)")

    当我们使用 playground 运行上面的程序,得到以下结果

    Mark1 is 300

    Mark2 is 400

    Mark3 is 900

    **类标识符**

    在 Swift 引用多个常量和变量指向的单个实例。要了解常量和变量指向一个特定的类实例标识操作符的使用。 类实例总是通过引用传递。在类`NSString`,`NSArray` 和 `NSDictionary` 实例始终分配作为参考传递到现有的实例,而不是使用一个副本。

    |等同运算符 |不相同操算符|

    |-----------|------------|

    |使用的操作符是 (===)| 使用的操作符是 (!==)|

    |当两个常量或变量指向同一个实例返回true|当两个常数或变量指向一个不同的实例返回true|

    class SampleClass: Equatable {

    let myProperty: String

    init(s: String) {

    myProperty = s

    }

    }

    func == (lhs: SampleClass, rhs: SampleClass) -> Bool {

    return lhs.myProperty == rhs.myProperty

    }

    let spClass1 = SampleClass(s: "Hello")

    let spClass2 = SampleClass(s: "Hello")

    spClass1 === spClass2 // false

    println("\(spClass1)")

    spClass1 !== spClass2 // true

    println("\(spClass2)")

    当我们使用 playground 运行上面的程序,得到以下结果

    main.SampleClass

    main.SampleClass

    相关文章

      网友评论

          本文标题:iOS中Swift从开始入门到最后的放弃(七),

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