3开发指南 swift_swift编程指南 - CSDN
  • Swift开发指南

    2019-01-08 08:07:09
    Swift开发指南》 基本信息 作者: 关东升 赵志荣  丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115366245 上架时间:2014-8-5 出版日期:2014 年9月 开本:16开 页码:1 版次:1-1 所属分类...

    《Swift开发指南》

    基本信息

    作者: 关东升    赵志荣   

    丛书名: 图灵原创

    出版社:人民邮电出版社

    ISBN:9787115366245

    上架时间:2014-8-5

    出版日期:2014 年9月

    开本:16开

    页码:1

    版次:1-1

    所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone

     

    更多关于》》》 《Swift开发指南》

     

    编辑推荐

          国内第一本Swift开发教程

      配有同步习题、同步视频教程,并全程展现即将上线的iPhone计算器项目

      分层架构设计解决Swift与Objective-C混合搭配问题

      畅销书《iOS开发指南》作者关东升最新著作

     

    内容简介

        书籍

        计算机书籍

    《swift开发指南》通过大量案例全面讲解了swift 语言开发,包含常量与变量、运算符和表达式、数据类型、数据类型转换、字符串类型、语言的元组类型、可选类型、数组、字典、控制语句、函数、闭包、类与结构体、属性、方法、下标、继承、构造器、析构器、扩展、协议、内存管理等。每章均配有同步练习,由浅入深,循序渐进,最后通过iphone 计算器应用的开发带领读者进行了开发实战。

    《swift开发指南》适合现有ios 开发者、其他移动平台开发者以及计算机专业大学生阅读,也非常适合作为培训教材。

    媒体评论

      本书配套视频教程《苹果Swift语言视频教程闪电入门》在51CTO学院全国首发,是国内首套完整的Swift视频课程,自上线1个月以来,有近10万名学员学习,受到了51CTO社区广大开发者和爱好者的好评和认可。《Swift开发指南》全面介绍了苹果Swift语言开发技巧,并配有大量习题,非常适合广大学员迅速掌握和巩固Swift开发中的知识点。相信本书一定值得广大学员阅读。

      ——51CTO学院高级运营经理曹亚莉

      《Swift开发指南》一书结构清晰,内容丰富,通过大量的案例代码和丰富的图示全面讲解Swift语言开发。由浅入深,循序渐进,最后通过项目实践,帮助开发者系统理解书中内容。本书不仅适合iOS开发者,也适合其他领域的移动开发者系统学习Swift语言,还可作为培训教材,带领更多的学生、开发人员开启Swift学习之旅。

      ——CocoaChina社区

      《Swift开发指南》结合大量案例、习题对Swift语言进行了系统全面的讲解。深入浅出,通俗易懂,通过最后一个计算器实战项目,全面讲解了Swift和Objective-C之间的互相调用与过渡,便于开发者学习Swift语言。同时,本书配套视频课程是国内首套完整的Swift视频课程,得到了广大开发者的认可。在Swift语言推出之际,作者第一时间推出国内首套在线视频课程,并同时撰写图书,可谓急大家之所急。非常值得推荐的一本Swift图书。

      ——智捷iOS课堂

     

    目录

    《swift开发指南》

    第一部分 基础篇

    第1章 准备开始  2

    1.1 本书学习路线图  2

    1.2 本书中的约定  3

    1.2.1 示例代码约定  4

    1.2.2 图示的约定  4

    1.3 xcode开发工具  6

    1.3.1 xcode安装和卸载  7

    1.3.2 xcode界面  10

    1.4 如何使用api帮助  11

    1.5 本章小结  14

    1.6 同步练习  14

    第2章 第一个swift程序  15

    2.1 使用playground编写  15

    2.1.1 编程利器playground  15

    2.1.2 编写helloworld程序  16

    2.2 代码解释  19

    2.3 本章小结  20

    2.4 同步练习  20

    第3章 swift基本语法  21

    3.1 标识符和关键字  21

    3.1.1 标识符  21

    3.1.2 关键字  22

    3.2 常量和变量  22

    3.2.1 常量  22

    3.2.2 变量  23

    3.2.3 命名规范  23

    3.3 注释  24

    3.4 表达式  25

    3.5 本章小结  26

    3.6 同步练习  26

    第4章 基本运算符  28

    4.1 算术运算符  28

    4.1.1 一元运算符  28

    4.1.2 二元运算符  29

    4.1.3 算术赋值运算符  30

    4.2 关系运算符  31

    4.3 逻辑运算符  33

    4.4 位运算符  34

    4.5 其他运算符  36

    4.6 本章小结  37

    4.7 同步练习  37

    第5章 基本数据类型  39

    5.1 swift数据类型  39

    5.2 整型  39

    5.3 浮点型  41

    5.4 数字表示方式  41

    5.4.1 进制数字表示  41

    5.4.2 指数表示  42

    5.4.3 其他表示  42

    5.5 数字类型之间的转换  42

    5.5.1 整型之间的转换  42

    5.5.2 整型与浮点型之间的转换  43

    5.6 布尔型  44

    5.7 元组类型  44

    5.8 本章小结  45

    5.9 同步练习  45

    第6章 字符和字符串  47

    6.1 字符  47

    6.1.1 unicode编码  47

    6.1.2 转义符  48

    6.2 创建字符串  49

    6.3 字符串可变性  49

    6.4 字符串比较  50

    6.4.1 大小和相等比较  50

    6.4.2 前缀和后缀比较  51

    6.5 本章小结  52

    6.6 同步练习  52

    第7章 控制语句  54

    7.1 分支语句  54

    7.1.1 条件语句if  54

    7.1.2 多分支语句switch  56

    7.1.3 在switch中使用范围匹配  58

    7.1.4 在switch中比较元组类型  59

    7.2 循环语句  61

    7.2.1 while语句  61

    7.2.2 do while语句  63

    7.2.3 for语句  63

    7.2.4 for in语句  64

    7.3 跳转语句  65

    7.3.1 break语句  66

    7.3.2 continue语句  67

    7.3.3 fallthrough语句  69

    7.4 本章小结  71

    7.5 同步练习  71

    第8章 集合  75

    8.1 数组集合  75

    8.1.1 数组声明与初始化  76

    8.1.2 数组的修改  77

    8.1.3 数组遍历  78

    8.2 字典集合  78

    8.2.1 字典声明与初始化  79

    8.2.2 字典的修改  80

    8.2.3 字典遍历  81

    8.3 集合的复制  82

    8.3.1 字典复制  82

    8.3.2 数组复制  84

    8.4 本章小结  86

    8.5 同步练习  86

    第9章 函数  88

    9.1 使用函数  88

    9.2 传递参数  89

    9.2.1 使用外部参数名  89

    9.2.2 参数默认值  90

    9.2.3 可变参数  90

    9.2.4 参数的传递引用  91

    9.3 函数返回值  92

    9.3.1 无返回值函数  92

    9.3.2 多返回值函数  93

    9.4 函数类型  93

    9.4.1 作为函数返回类型使用  94

    9.4.2 作为参数类型使用  95

    9.5 函数重载  96

    9.6 嵌套函数  97

    9.7 泛型和泛型函数  98

    9.7.1 一个问题的思考  99

    9.7.2 泛型函数  99

    9.8 本章小结  100

    9.9 同步练习  100

    第10章 闭包  104

    10.1 回顾嵌套函数  104

    10.2 闭包的概念  105

    10.3 使用闭包表达式  106

    10.3.1 类型推断简化  106

    10.3.2 隐藏return关键字  107

    10.3.3 缩写参数名称  107

    10.3.4 使用闭包返回值  108

    10.4 使用尾随闭包  108

    10.5 捕获上下文中的变量和常量  109

    10.6 本章小结  110

    10.7 同步练习  110

    第二部分 面向对象篇

    第11章 swift语言中的面向对象特性  114

    11.1 面向对象概念和基本特征  114

    11.2 swift中的面向对象类型  114

    11.3 枚举  115

    11.3.1 成员值  115

    11.3.2 原始值  117

    11.3.3 相关值  118

    11.4 结构体与类  120

    11.4.1 类和结构体定义  120

    11.4.2 再谈值类型和引用类型  121

    11.4.3 引用类型的比较  123

    11.5 类型嵌套  124

    11.6 可选类型与可选链  125

    11.6.1 可选类型  125

    11.6.2 可选链  126

    11.7 本章小结  129

    11.8 同步练习  130

    第12章 属性与下标  134

    12.1 存储属性  134

    12.1.1 存储属性概念  134

    12.1.2 延迟存储属性  135

    12.1.3 属性观察者  136

    12.2 计算属性  136

    12.2.1 计算属性概念  136

    12.2.2 只读计算属性  138

    12.2.3 结构体和枚举中的计算

    属性  139

    12.3 属性观察者  139

    12.4 静态属性  141

    12.4.1 结构体静态属性  143

    12.4.2 枚举静态属性  144

    12.4.3 类静态属性  145

    12.5 使用下标  145

    12.5.1 下标概念  146

    12.5.2 示例:二维数组  146

    12.6 本章小结  148

    12.7 同步练习  148

    第13章 方法  150

    13.1 实例方法  150

    13.1.1 使用规范的命名  151

    13.1.2 结构体和枚举方法变异  154

    13.2 静态方法  155

    13.2.1 结构体中静态方法  155

    13.2.2 枚举中静态方法  156

    13.2.3 类中静态方法  156

    13.3 本章小结  157

    13.4 同步练习  157

    第14章 构造与析构  158

    14.1 构造器  158

    14.1.1 默认构造器  158

    14.1.2 构造器与存储属性初始化  159

    14.1.3 使用外部参数名  160

    14.2 构造器重载  162

    14.2.1 构造器重载概念  162

    14.2.2 值类型构造器代理  163

    14.2.3 引用类型构造器横向代理  164

    14.3 析构器  165

    14.4 本章小结  166

    14.5 同步练习  166

    第15章 继承  169

    15.1 从一个示例开始  169

    15.2 构造器继承  170

    15.2.1 构造器调用规则  170

    15.2.2 构造过程安全检查  172

    15.2.3 构造器自动继承  175

    15.3 重写  177

    15.3.1 属性重写  177

    15.3.2 方法重写  179

    15.3.3 下标重写  180

    15.3.4 使用final关键字  182

    15.4 类型检查与转换  183

    15.4.1 使用is操作符  185

    15.4.2 使用as操作符  185

    15.4.3 使用any和anyobject类型  187

    15.5 本章小结  187

    15.6 同步练习  188

    第16章 扩展和协议  190

    16.1 扩展  190

    16.1.1 声明扩展  190

    16.1.2 扩展计算属性  191

    16.1.3 扩展方法  192

    16.1.4 扩展构造器  193

    16.1.5 扩展下标  195

    16.2 协议  196

    16.2.1 声明和遵守协议  197

    16.2.2 协议方法  197

    16.2.3 协议属性  200

    16.2.4 把协议作为类型使用  202

    16.2.5 协议的继承  204

    16.2.6 协议的合成  205

    16.3 扩展中声明协议  207

    16.4 本章小结  207

    16.5 同步练习  208

    第17章 swift内存管理  210

    17.1 swift内存管理概述  210

    17.1.1 引用计数  210

    17.1.2 示例:swift自动引用计数  211

    17.2 强引用循环  213

    17.3 打破强引用循环  216

    17.3.1 弱引用  216

    17.3.2 无主引用  218

    17.4 闭包中的强引用循环  220

    17.4.1 一个闭包中的强引用循环示例  221

    17.4.2 解决闭包强引用循环  221

    17.5 本章小结  223

    17.6 同步练习  223

    第三部分 过渡篇

    第18章 从objective-c到swift  226

    18.1 选择语言  226

    18.2 swift调用objective-c  226

    18.2.1 创建swift工程  227

    18.2.2 在swift工程中添加

    objective-c类  229

    18.2.3 调用代码  230

    18.3 objective-c调用swift  232

    18.3.1 创建objective-c工程  233

    18.3.2 在objective-c工程中添加swift类  234

    18.3.3 调用代码  235

    18.4 本章小结  236

    18.5 同步练习  237

    第19章 使用foundation框架  238

    19.1 数字类nsnumber  238

    19.1.1 获得nsnumber实例  238

    19.1.2 nsnumber对象的比较  241

    19.2 字符串类  242

    19.2.1 nsstring类  242

    19.2.2 nsmutablestring类  245

    19.2.3 nsstring与string之间的关系  246

    19.3 数组类  247

    19.3.1 nsarray类  247

    19.3.2 nsmutablearray类  248

    19.3.3 nsarray与array之间的关系  249

    19.4 字典类  250

    19.4.1 nsdictionary类  250

    19.4.2 nsmutabledictionary类  251

    19.4.3 nsdictionary与dictionary之间的关系  252

    19.5 本章小结  253

    19.6 同步练习  253

    第四部分 实战篇

    第20章 ios开发基础  256

    20.1 ios介绍  256

    20.2 第一个ios应用helloworld  257

    20.2.1 创建工程  257

    20.2.2 xcode中的ios工程模板  265

    20.2.3 程序剖析  266

    20.3 ios api简介  268

    20.4 本章小结  268

    20.5 同步练习  268

    第21章 项目实战——基于分层架构的多版本iphone计算器  270

    21.1 应用分析与设计  270

    21.1.1 应用概述  270

    21.1.2 需求分析  270

    21.1.3 原型设计  271

    21.1.4 分层架构设计  272

    21.1.5 应用设计  273

    21.2 创建工程  274

    21.3 业务逻辑层开发  276

    21.3.1 创建calclogic.swift文件  276

    21.3.2 枚举类型operator  277

    21.3.3 calclogic类中属性  278

    21.3.4 calclogic类中构造器和析构器  278

    21.3.5 calclogic类中更新主标签方法  279

    21.3.6 calclogic类中判断是否包含小数点方法  280

    21.3.7 calclogic类中计算方法  280

    21.3.8 calclogic类中清除方法  281

    21.4 表示层开发  282

    21.4.1 添加图片资源  282

    21.4.2 改变设计界面大小  284

    21.4.3 添加计算器背景  284

    21.4.4 在设计界面中添加主标签  286

    21.4.5 在设计界面中添加按钮  288

    21.4.6 控件的输出口和动作  292

    21.4.7 视图控制器  296

    21.5 objective-c版本的计算器  297

    21.5.1 xcode工程文件结构比较  297

    21.5.2 表示层比较  298

    21.5.3 业务逻辑层比较  299

    21.6 swift调用objective-c实现的计算器  302

    21.6.1 在swift工程中添加objective-c类  303

    21.6.2 调用代码  305

    21.7 objective-c调用swift实现的计算器  306

    21.7.1 在objective-c工程中添加swift类  306

    21.7.2 调用代码  307

    21.8 本章小结  310

    21.9 同步练习  310

     

     

    本图书信息来源:互动出版网

    展开全文
  • 时间轴(倒叙)2014年8月底在图灵出版社的大力支持下,全球第一本全面、系统、科学的,包含本人多年经验的呕心沥血之作《Swift开发指南》(配有同步视频课程和同步练习)全线重磅推出2014年7月5日苹果宣布Swift语言...
    时间轴(倒叙)
    2014年8月底
    在图灵出版社的大力支持下,全球第一本全面、系统、科学的,包含本人多年经验的呕心沥血之作《Swift开发指南》(配有同步视频课程和同步练习)全线重磅推出
    2014年7月5日
    苹果宣布Swift语言二十天后,《Swift开发指南》第一稿交予图灵出版社
    2014年6月9日
    苹果宣布Swift语言三天后,启动《Swift开发指南》撰写
    2014年6月2日凌晨1点(北京时间:)
    在苹果开发者大会WWDC 2014上,苹果宣布了全新的iOS及OS X平台开发语言Swift
     
    iOS教父前传
    我是一个编了20年程序的码农,做了10年IT培训的教书匠,写了15本书的笔农。
    2010年的时候我有幸相识了大富翁游戏之父,台湾的柯博文老师。从那时开始,我真正的接触到了iOS。我用苹果虚拟机,用了一个星期的时间,编写了第一个iPhone HelloWorld程序。苹果的事件处理机制和Objective-C古怪的语法有别于其它我接触的语言。那时候可参考的中文资料很少,源于老师的职业习惯,我决定要写一个系列的iOS丛书,我规划了6本书,《iOS网络编程与云端应用最佳实践》、《iOS传感器应用开发最佳实践》、《iOS多媒体技术开发最佳实践》、《iPhone与 iPad开发实战——iOS 经典应用剖析》、《iOS开发指南》、《Objective-C开发指南》经过四年的笔耕不辍,前五本都一一出版发行,并获得了大量读者和忠实的学习者。最后一本顺应苹果公司的编程语言的变革,改为即将上市的《Swift开发指南》。


    20天时间写出全球第一本Swift书,我是如何做到的?


    梦中梦

    正编着一款新型游戏的程序,突然电脑中病毒般一顿乱跳,鼠标竟然变成了一只活生生的大老鼠,嘴里叼着一根雪茄,尖着嗓门奸笑着对我说,“苹果都出新语言了,你还在等什么?”。突然惊醒,原来是在做梦。走到书架前,一本书翩翩起舞,轻轻的落在我脚下,捡起来一看,“Swift语言”。“关老师!关老师!快醒醒,马上到直播课时间了!”我被一阵喊叫声和敲桌子声音吵醒了,原来刚才一直在做梦,“恩,我再眯一分钟,看看里面是什么”边说着我换了一只胳膊继续趴着睡。“看什么啊?就一分钟哦,莫名其妙。”小贾提醒我道。难道是老天冥冥中在提示我什么吗?


    鼠标手、键盘手、肩周炎(配图)
    6月9日凌晨4点11分,被楼下的汽车发动声惊醒,我从办公室的沙发上爬起来,洗了把脸,意识越来越清醒。是时候出下一本书了,打开苹果官网,第一眼看到《The Swift Programming Language》文档,我如饥似渴的开始研究,用了整整12个小时的时间,到当天下午4点,我已经对这门语言心领神会了。读完文档的第一想法就是我要用我这20年的编程经验和10年的培训经验和项目经验,第一时间写一本关于Swift语言开发的教程。
       接下来,制定计划,每天住在办公室,砍去一切与写这本书无关的事情,比如和朋友约饭、讲课(理想大于金钱的时刻)、回家陪家人(在此也想非常感谢老婆和孩子在这一段时间的默默支持!),甚至睡觉休息时间,总之一切都在为了这一个目标让步。正如一本书里所写的:“当你真心想要一样东西的时候,你身上散发出来的就是那种能量的振动频率,然后全宇宙就会联合起来帮助你达到你想要的东西。”
    在畅销书《iOS开发指南》完成之后,我就得了一个毛病——肩周炎。肩周炎不是一个什么大毛病,可是它会把从书架高处取书这么简单的一个动作,或者是拿笔在白板上写点板书成为挑战自我的一个动作。疼,隐隐作痛。去医院看,医生说:“你这毛病这辈子就这样了,只能维持,尽量别再保持一个姿势,电脑尽量少用。”“不可能的”我心里想到。我这几年要不是没日没夜的坐在电脑前码字,写案例,做方案,怎么会有今天的这些作品。这本《Swift开发指南》更是饱含了汗水和泪水。
     
    我这些年的心血之作!
    团队成员调侃我是“鼠标手关Sir,技艺堪比剪刀手爱德华”。因为网络时代的写书、敲代码与纸质时代不同,鼠标和键盘是必备神器,所以团队小贾非常贴心的给我买了好几个款型的鼠标,一天20小时的轮番上阵,陪我挥洒前程。但就是这样,在Swift这场战役中还是烙下了新病根,腱鞘炎。但一想到我的新书马上就能出版,可以帮助那么多挨踢人士以及攻城狮们,第一时间系统学习和掌握这门语言,我就兴奋不已。《Swift开发指南》每章都配有项目案例和测试习题,最后还用Swift语言开发了一个计算器项目。在此,也非常感谢合著者赵志荣女士,感谢她对项目习题的精心编写和文稿的不倦审查。
     
    我的小伙伴!


    落下点小毛病还是小事,最让人纠结难耐的还是,苹果Swift语言出来后,两天一小改,三天一大动的情形,问题是我的书已经完成了一大半,但是看到官方形势的急剧变化,我二话不说,立马进行整章、整节的调整,在经过连续20天时间,每天持续奋战18-19个小时之后,最后终于完成了Swift语言的Beta 4版本撰写。在这20天时间里我的体重爆减了15斤,这也算是对自己的另一种完美交差了。
     
    “青蛙公主”
    我的team短小精悍,被业界高焕堂戏称是“青蛙公主”组合。程序猿们以男性居多,又多是注重本质和物理层,对应用层以及用户体验方面不是摸不着头脑 就是兴趣不大。赵大羽老师是移动平台UI、UE专家,专注于移动设计领域。是目前国内能讲用户体验课程的仅有几个金牌讲师之一。赵老师讲课深入浅出、每每讲到难点和有深度的课题时总会抖几个包袱出来,立即将极其抽象的事物完完全全的剖析出来,让学员自己思考、琢磨,然后顿悟,那些四万多移动用户体验设计和移动端敏捷设计的“羽丝”们深有体会。正是他用这样的方式和深度感化着一个个程序猿和设计狮们,让他们从程序的世界里抬起头来,为用户的感受和体验思考。
    于是乎,在“公主”的点化之下,我就成了“王子”,如果你是我的学员,不管是听过我线上视频还是线下课程,你都会懂我的讲课风格,对于不管是Android、iOS还是Cocos2d-x相关的课程,我都会慢条斯理、深入浅出、高深但不难懂、理论结合案例,丝丝入扣的进行剖析,讲解并演练,让学员在掌握拔高理论的基础上,还能有实战实操的案例和动手机会。系统学习之后,再研读配套书籍及动手演练习题,只要你认真坚持下来,不想成为半个专家都不行。《Swift开发指南》一书是与赵志荣老师合作下的又一力作,在此也非常感谢赵志荣老师百忙之中抽出时间精心编写项目习题的以及对文稿的不倦审查,同时也感谢我的“公主”不厌其烦的对我书中的每一个必要场景手绘插图,最终让书稿在技术的海洋里独具一格,徐徐生辉。
     
    “青蛙公主”在图书签署会上

    我的图灵大编辑
        Swift一书交稿之后,我们的一个小请求就是在书的封面上加上“国内第一本Swift开发教程”一行字。编辑小张给我们的答复是,可能无法满足我们的这一要求。这个消息对我们来说非常有挫败感,毕竟这是我们在如此短的时间内,相当于常人三倍的时间和精力投入编写的一本教程,同时也有争当第一之想法。于是我就给她讲了这段时间我们是怎么努力坚持过来的,以及我们的心路历程和汗水付出,希望出版社可以给我们一个说法。经过调查,最终他们也查明事实,我们确实是国内第一本Swift开发教程,最终还是决定给我们正名。在这我也想分享给各位的一句话是:“不要怕被拒绝,也不要怕被误会,是‘金子总会发光’,但也要努力争取成为‘金子’,天道总会酬勤。”
    封面的故事
    我的图书封面以及文中配图都是“公主”精雕细琢的杰作。“公主”对封面的用户体验要求近乎苛刻。因我们iOS、Swift都是苹果开发相关的系列书籍,所以都是以“苹果”为原型的创新图案。在用Swift语言做计算机项目时,在用户体验设计的理念基础上,由“公主”手绘计算器草图,并以我的程序思路,逐步深入到程序、功能、应用等层面。
     
    书中的一张手绘草图
    Swift速成,你如何做到?
    为什么学?
    作为学习者,你要清楚自己的定位。即你本身就是挨踢民工、 程序猿、工程狮,还是你想成为这么一类人。成为这一类人,你就得 “学得好语言、写的了代码、经得起寂寞、忍得了寂寞,还能经得起因为‘神经大条’经常被女友抛弃的惨痛”。如果以上几方面,你毅然做好了准备,那就想清楚,你学习Swift的目的和长远打算是什么。如果你想玩转APP,自己开发各种苹果手机应用;如果你想在公司的新项目中,游刃有余,发挥自己的技术天赋和被领导赞不绝口 ;如果你想转行,从事iOS相关开发工作;或者如果你真的很Geek,就像搞清楚Swift是个怎么回事,那就来学吧!
    怎么学?
        学习分两种模式,先天习得和后天学习。如果你已经超过三岁,那就不要考虑第一种办法了,你只能找到一种合适的方式和方法,以及工具(即教材、老师、课件、资料等等)进行系统的学习。Swift这本书就有配套视频课程和习题。为了便于学习,刚开始的每一章节的课程时间规划的都非常短,在学习完一章后,直接做大量的习题和测试进行巩固和练习,让学习者不至于在一个长期的学习目标之下失去学习的兴趣和斗志。
    学到什么程度?
        学习的程度和你努力坚持的程度成正比。挨踢们最能懂我这句话的意思,因为程序和技术很多时候是有标准答案的,你的功夫不到家,核心要素没有掌握,就别怪Bug,Bug的老来找你,程序跑不通,还总是找不到问题所在,有时候想找到问题,似乎比重新开发一遍还难。用一句话概括,就是“你的思想有多深邃,你的程序就能跑多久”。
    学习规划图
     
    Swift修订,速度中!
    《Swift开发指南》是在苹果公司宣布Swift语言之后立即投入编写的,全书编写贯穿Xcode6 beta1版到beta4版的更新,最终成书是以beta4版落地。因beta版本到最终版本之前还有一些变化,所以在final版本出来之前,我们会在案例和习题中为大家及时更新,待Swift语言的final版出来之后,我们也会及时对本书进行修订,并更新到社区、网站中,并一直保持同步更新和完善。
    关于《Swift开发指南》学习相关地址:
    购书地址:
    京东:http://item.jd.com/11516346.html
    当当:http://product.dangdang.com/23535049.html
    互动出版社:http://product.china-pub.com/3804000
    视频课程地址:
    智捷iOS课堂教程地址:
    苹果Swift编程语言开发指南(上):
    http://v.51work6.com/viewCourseDetail.do?courseId=799262
    苹果Swift编程语言开发指南(下):
    http://v.51work6.com/viewCourseDetail.do?courseId=799438
    51CTO学院视频教程地址:
    苹果Swift语言视频教程闪电入门:http://edu.51cto.com/course/course_id-1395.html
    Swift项目开发实战-基于分层架构的多版本iPhone计算器:
    http://edu.51cto.com/course/course_id-1950.html
    本书网址:http://www.51work6.com/swift.php
    欢迎关注智捷iOS课堂微信公共平台
     

    展开全文
  • 指南介绍了Swift和Objective-C兼容性的三个重要方面,您可以在开发Cocoa应用程序时将其利用它: - **互操作性**让您可以在Swift和Objective-C代码之间进行交互,允许您在Objective-C中使用Swift类,并在编写Swift...

    章节导航:
    Swift开发指南:使用Swift与Cocoa和Objective-C(Swift 4) - 1.入门
    Swift开发指南:使用Swift与Cocoa和Objective-C(Swift 4) - 2.互通性


    基本设置

    Swift旨在提供与Cocoa和Objective-C的无缝兼容性。您可以在Swift中使用Objective-C API,您可以在Objective-C中使用Swift API。这使Swift成为一个简单、方便和强大的工具,可以集成到开发工作流程中。

    本指南介绍了Swift和Objective-C兼容性的三个重要方面,您可以在开发Cocoa应用程序时将其利用它:

    • 互操作性让您可以在Swift和Objective-C代码之间进行交互,允许您在Objective-C中使用Swift类,并在编写Swift代码时利用熟悉的Cocoa类、模式和实践。
    • 混编和匹配允许您创建包含可以彼此通信的Swift和Objective-C文件的混合语言应用程序。
    • 从现有的Objective-C代码迁移到Swift可以轻松实现互操作性和混合搭配,从而可以使用最新的Swift功能来替换Objective-C应用的部分。

    在开始了解这些功能之前,您需要基本了解如何设置可以访问Cocoa系统框架的Swift环境。


    建立你的Swift环境

    要使用Swift开始尝试使用Cocoa应用程序开发,请从提供的Xcode模板之一创建一个新的Swift项目。

    在Xcode中创建Swift项目
    1. 选择文件>新建>项目>(iOS,watchOS,tvOS 或 macOS)>应用程序> 您选择的模板。
    2. 单击语言弹出菜单并选择Swift。
    建立Swift项目

    Swift项目的结构与Objective-C项目几乎完全相同,有一个重要的区别:Swift没有头文件。在实现和接口之间没有明确的描述 —— 所有关于类、函数或常量的信息都驻留在单个.swift文件中。这在同一项目中的Swift与Objective-C章节中有更详细的讨论。

    从这里,您可以通过在应用程序委托中编写Swift代码或通过选择文件>新建>文件>(iOS,watchOS,tvOS 或 macOS)> Source> Swift 创建的新Swift文件来开始体验。


    了解Swift导入流程

    您的Xcode项目设置完成后,您可以从Cocoa或Cocoa Touch导入任何框架,开始通过Swift使用Objective-C。

    任何支持模块的 Objective-C框架或C语言库都可以直接导入到Swift中。这包括所有Objective-C系统框架,例如Foundation,UIKit和SpriteKit以及系统附带的常用C语言库。例如,要在Swift文件中使用Foundation API,请将以下import语句添加到文件的顶部:

    import Foundation

    使用此导入语句,Swift文件现在可以访问Foundation的所有类,协议,方法,属性和常量。

    导入过程很简单。Objective-C框架在头文件中暴露API。在Swift中,这些头文件被编译为Objective-C模块,然后将其导入Swift作为Swift API。导入过程确定在Swift中显示的Objective-C代码中声明的函数、类、方法和类型。对于函数和方法,此过程会影响其参数和返回值的类型。对于类型,导入过程可能会产生以下影响:

    • 重新映射某些Objective-C的类型为它们在Swift的同等类型,如idAny
    • 重新映射某些Objective-C的核心类型为它们在Swift的替代类型,如NSStringString
    • 将某些Objective-C概念重新映射为Swift中对应的概念,如指向可选项的指针

    有关在Swift中使用Objective-C的更多信息,请参阅与Objective-C API进行交互(章节2)。

    注意
    您不能将C ++代码直接导入Swift。而应该为C++代码创建一个Objective-C或C包装器。

    将Swift导入Objective-C的模型类似于将Objective-C导入Swift的模型。Swift将其暴露的API(例如一个框架)生成Swift模块。除了生成这些Swift模块之外,还生成了Objective-C头文件。这些标头提供可以映射回Objective-C的API。一些Swift API不会映射回Objective-C,因为它们利用Objective-C中不可用的功能。

    有关在Objective-C中使用Swift的更多信息,请参阅同一项目中的Swift和Objective-C



    文章翻译自Apple Developer Page : Using Swift with Cocoa and Objective-C (Swift 4)
    方便大家学习之用,如果翻译存在错误,欢迎指正。

    展开全文
  • 本人是个IOS开发新手,之前没有接触过Objective-C语言,直接从最新的Swift语言学起,进行IOS8的学习开发。由于Swift语言是一门全新的语言,网上的资料很少,...相信很多人学习Swift语言都选择了《Swift开发指南》这本

            本人是个IOS开发新手,之前没有接触过Objective-C语言,直接从最新的Swift学起,进行IOS8的学习开发。由于Swift语言是一门全新的语言,网上的资料很少,遇到问题百度搜到的都是英文的页面。通过一段时间的学习,我基本掌握了Swift的语法,坚持使用Swift进行IOS8的开发对我们提升自己的Swift编程能力很有帮助。相信很多人学习Swift语言都选择了《Swift开发指南》这本书,我觉得这本书写的不错,但是在自己动手演练本书21章的计算器项目时,遇到了一些问题,书中并没有给予纠正,网上下载的示例代码中也没有改正。下面说说我在手敲这个项目时的心得体会,希望能给其他Swift爱好者带来帮助。

            我使用的是APP store中下载的最新版的Xcode6.1.1.一般的项目都是由底层向顶层开发,按照书中的步骤,业务逻辑层中的类CalcLogic中应用了之前定义的一个枚举类型,但是实例名使用了Operator(书中是大写的,网上代码里小写,都会报错,因为operator是系统关键字,所以我把实例名换成了operator1),代码如下:

    <pre name="code" class="cpp">class CalcLogic{
        //保存上一次的值
        var lastRetainValue:Double
        //最近一次选择的操作符
        var operator1:Operator
        //临时保存MainLabel内容,为true时,输入数字MainLabel内容被清0
        var isMainLabelTextTemporary:Bool
    ...
    }


    
           之后在定义方法calculateByTag 时我遇到了一个让我哭笑不得的错误,calculateByTag中有一个switch开关语句,其中在case .Divide中有一个if else判断语句,我按照之前的编程习惯,把else单独放在一行,后来一直报错,直到我查阅了书籍,发现书中的else和前后大括号的写法都是“
     } else { ”,改成这样的形式后错误消失了,在赋值语句中同样会遇到报错,一个=前后都应该有空格,所以奉劝大家在做Swift开发的时候一定要养成敲空格的好习惯T T。代码段如下
    

    func calculateByTag(tag:Int,withMainLabelString mainLabelString:String)->String{
        var currentValue = (mainLabelString as NSString).doubleValue
            switch operator1{
            case .Plus:
                lastRetainValue += currentValue
            case .Minus:
                lastRetainValue -= currentValue
            case .Multiply:
                lastRetainValue *= currentValue
            case .Divide:
                if currentValue != 0 {
                    lastRetainValue /= currentValue
                } else {
                operator1 = .Default
                    isMainLabelTextTemporary = true
                    return "错误"
                }
            default: lastRetainValue = currentValue
            }
    

          另外一点要注意,switch中的默认关键字是小写的“default”,书中写成了大写的,这是错误的,不要跟case中的.Default搞混,这个大写开头的Default是我们之前在Operator枚举类型中自己定义的。书中代码引用的变量都没有加强制拆封,也就是“!”,但是在实际编程中Xcode会提示你加上“!”。

           同样是这个方法中,Operator的静态方法fromRaw在Xcode中提示已经被取代了!Xcode帮我改成了如下格式:

    operator1 = Operator(rawValue: tag)!

          表示层开发中没有遇到很大的难点,有以下几点需要注意的:首先,在给tag赋值的时候我没找到“tag”,后来发现是属性监测器工具栏太长了屏幕没有显示完全,往下拖一点就找到了(原谅我是个新手),其次,书中的Xcode应该不是最新版本,因为在Xcode6.1.1中的“辅助编辑器”图标已经变了,大家注意一下,现在的图标是两个圆圈的样子,如图所示:




           最后完成图如下:




    遗憾的是,我完成的计算器的小数点按键在点击时会报错,目前还没找到原因,不知道大家的作品是怎么样的呢?



    展开全文
  • 章节目录如下: 第 1 章 游戏的设计 … 9 1.1 设计游戏引擎 …9 1.2 创建基于继承的设计…10 1.3 创建基于组件的设计…12 1.4 用 GameplayKit 创建基于组件的游戏设计 … 16 1.5 计算屏幕的帧刷新时间 …18 ...
  • 使用 Swift 开发 App 入门课程教师指南,intro-to-app-development-with-swift-teacher-guide,使用 Swift 开发 App 入门课程教师指南,intro-to-app-development-with-swift-teacher-guide,使用 Swift 开发 App 入门...
  • 关东升老师《swift开发指南》修订版源码,和修订版习题和习题答案。关东升老师扛鼎之作,不可错过!
  • 最近项目不算紧,于是就学了学 Swift ,看了一大神写的项目https://github.com/hrscy/DanTang,很受益,感谢开源!另外自己也写了一些基础代码,分享出来,第一是希望得到同行前辈的指导,第二是希望对需要的朋友...
  • Swift SDK 开发详解

    2018-02-02 13:56:16
    前言 日常的开发中,我们经常会遇到这样的开发需求。比如 不能提供源码,暴露部分接口出去、 项目功能组件模块化等。...之前,使用OC尝试过SDk的开发,感觉还是比较繁琐,接下来我们就使用Swift进行SDK开发开发
  • iOS开发指南:从零基础到App Store上架第3版与Swift iOS应用开发实战 完整版 两本PDF电子书,满足新手入门Swift iOS开发以及应用上架
  • Swift开发实战权威指南》是欧阳大神根据自己多年互联网实战经验,结合自己独特视角专为swfit从事人员打造,是帮你从入门到精通的最全、最详、最新颖、最深入的swift开发手册。 作者简介 欧阳坚(欧阳大神)...
  • Swift编程权威指南第二版 PDF高清版.是一款适合入门级 初级 中级程序员学习Swift的一本书.不管你有没有iOS开发经验均可学习.已有OC经验的 前5章可以跳过 后面实例看着案例需求去自己写 不要照着书敲.没有OC经验的...
  • 《iOS开发指南》第5版源码下载链接(关东升),学习swift的好参考
  • 章节导航:Swift开发指南:使用Swift与Cocoa和Objective-C(Swift 4) - 1.入门 与Objective-C API进行交互互操作性是能够在任何一个方向上与Swift和Objective-C进行接口,让您访问并使用以其他语言的文件中的一些...
  • Swift5编程指南.pdf

    2020-07-30 23:31:34
    Swift 编程语言》是苹果官方对 Swift 语言做的权威指南,很遗憾苹果公司并没有进行多语言支持。该文档为Swift5 编程语言官方文档中文翻译版本。
  • swift-iOSCoreML开发指南

    2020-07-14 23:30:20
    iOS CoreML开发指南
  • Swift开发指南(修订版).mobi
  • Swift开发指南 mobi版本

    2020-07-14 23:30:30
    请使用kindle阅读器打开, 很好的学习书籍
  • iOS开发交流群:301058503Swift和OC有着很大的相同点,同时又有着不少的不同点,下面我介绍一下我在开发中发现的一些问题:1、常用的第三方:Alamofire(Swift版本的AFNetworking)、Kingfisher(Swift版本的...
  • 下载地址:网盘下载 Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书是其培训教材。...主要围绕使用Swift语言进行iOS和macOS开发,结合大量代码示例,教会读者利用高级iOS和macOS特性开发真实的应用。 ...
1 2 3 4 5 ... 20
收藏数 5,242
精华内容 2,096
关键字:

3开发指南 swift