JS技术

Swift 2.0学习笔记(Day48)——类型检查与转换 - 关东升 - 博客频道 - CSDN.NET 关东升 iO

字号+ 作者:H5之家 来源:H5之家 2015-12-14 18:16 我要评论( )

Chronometer (计时器)是TextView 的子类,这个组件可以用1秒的时间间隔进行计时,并显示出计时结果Chronometer 类有3个重要的方法: start、stop和setBase,其中 s

这个继承关系类的具体实现代码如下:

class Person { var name: String var age: Int func description() -> String { return "\(name) 年龄是: \(age)" } convenience init () { self.init(name: "Tony") self.age = 18 } convenience init (name: String) { self.init(name: name, age: 18) } init (name: String, age: Int) { self.name = name self.age = age } } class Student: Person { var school: String init (name: String, age: Int, school: String) { self.school = school super.init(name: name, age: age) } } class Worker: Person { var factory: String init (name: String, age: Int, factory: String) { self.factory = factory super.init(name: name, age: age) } }

下面看一个示例:

let student1 = Student(name: "Tom", age: 18, school: "清华大学") let student2 = Student(name: "Ben", age: 28, school: "北京大学") let student3 = Student(name: "Tony", age: 38, school: "香港大学") let worker1 = Worker(name: "Tom", age: 18, factory: "钢厂") let worker2 = Worker(name: "Ben", age: 20, factory: "电厂") let people = [student1, student2, student3, worker1, worker2] for item in people { if let student = item as? Student { print("Student school: \(Student.school)") } else if let worker = item as? Worker { print("Worker factory: \(Worker.factory)") } }

操作符在转换的同时进行隐式拆包。

示例代码如下:... let people = [student1, student2, student3, worker1, worker2] ... let stud1 = people[0] as? Student //people数组的第一个元素 print(stud1) print(stud1!.name) let stud2 = people[1] as! Student //people数组的第二个元素 print(stud2) print(stud2.name)

 

 

  • 上一篇Swift 2.0学习笔记(Day 47)——final关键字
  • 顶 0 踩 0

    我的同类文章

    猜你在找

    查看评论

    * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

    智捷iOS课堂 智捷iOS课堂-大量免费iOS视频-

    大家一起学习探讨 技术讨论群cocos2d-x群:257760386;iOS学习讨论qq群:286411514/204462948 技术讨论论坛

    个人资料


    tonny_guan

  • 访问:878549次
  • 积分:12393
  • 等级:

    积分:12393

  • 排名:第538名
  • 我的课程 更多

    Cocos2d-x实战-手...

    难度:高级

    类型:实战教学

    Part 5:Cocos2...

    难度:中级

    类型:技术教程

    Part 4:Cocos2...

    难度:中级

    类型:技术教程

    文章搜索

    博客专栏

    Cocos2d-x实战

    文章:78篇

    阅读:193373

    iOS经典应用剖析

    文章:10篇

    阅读:19237

    iOS开发那些事

    文章:54篇

    阅读:234880

    我的新浪微博

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 学习JavaScript之this,call,apply

      学习JavaScript之this,call,apply

      2016-01-28 20:45

    • JavaScript复习笔记--字符串

      JavaScript复习笔记--字符串

      2016-01-27 17:16

    • 零基础入门学习Python(10):函数 - qq_33256568的博客 - 博客频道 - CSDN.NET qq_3

      零基础入门学习Python(10):函数 - qq_33256568的博客 - 博客频道

      2015-12-15 09:04

    • 有趣的Ruby-学习笔记1 - 我可以接受失败,但我不能接受放弃。--迈克尔 乔丹 - 博客频道 - CSDN.NET

      有趣的Ruby-学习笔记1 - 我可以接受失败,但我不能接受放弃。--迈克

      2015-12-14 17:17

    网友点评
    r