编程语言swift官方文档疑问(swift 扩展类的创建)

购买过第1版纸书的读者可凭封底刮刮卡验证资格http://www.ituring.com.cn/users/guaguacode ,下单时输入turingswift优惠码即可免费获得本书。
本书通过大量案例全面讲解了Swift语言开发,包含常量与变量、运算符和表达式、数据类型、数据类型转换、字符串类型、语言的元组类型、可选类型、数组、字典、控制语句、函数、闭包、类与结构体、属性、方法、下标、继承、构造器、析构器、扩展、协议、内存管理等,每章均配有同步习题,由浅入深,循序渐进,最后通过iPhone计算器应用的开发带领读者进行了开发实战。
本书适合现有iOS开发者、其他移动平台开发者以及计算机专业大学生阅读,也非常适合作为培训教材。
其他购买方式?
基于iOS8最终版本全面修订
配有同步练习、同步视频教程、同步实战项目
分层架构设计解决Swift与Objective-C混合搭配问题
畅销书《iOS开发指南》 作者关东升最新著作
本书配套视频教程《苹果Swift语言视频教程闪电入门》在51CTO学院全国首发,是国内首套完整的Swift视频课程,《Swift开发指南》一书出版后受到了51CTO社区广大开发者的好评和认可。修订版在上一版的基础上,修订了Swift语法、Xcode操作界面和工程构建等多方面的内容,全面介绍了苹果Swift语言开发技巧,非常适合广大学员迅速掌握和巩固Swift开发中的知识点。——51CTO学院高级运营经理曹亚莉
《Swift开发指南》(修订版)根据Xcode 6最终版进行了全新修订和完善,不仅通过大量的案例代码和丰富的图示全面讲解了Swift语言开发,而且通过实战开发项目的分布讲解,帮助开发者系统地理解书中内容。本书是一本详尽的入门图书,不仅适合iOS开发者阅读,而且也适合其他领域的移动开发者系统地学习Swift语言,它将带领更多的学生和开发人员开启Swift学习之旅。——CocoaChina社区
苹果发布Xcode 6正式版之后,作者第一时间修订了《Swift开发指南》,修订内容包括Xcode 6正式版本在Swift语法方面的变化、Xcode的操作界面与之前的差异,以及工程构建方面的不同。本书详细讲述了Objective-C语言与Swift语言的混合搭配和调用,介绍了如何使用分层架构以及架构设计的重要性。作者还用心将本书最后的实战项目制作成了视频课程,方便广大开发者学习。值得推荐的一本Swift开发图书。——智捷iOS课堂
第 2 章 第一个Swift程序
第 3 章 Swift基本语法
第 4 章 基本运算符
第 5 章 基本数据类型
第 6 章 字符和字符串
第 7 章 控制语句
第 8 章 集合
第 9 章 函数
第 10 章 闭包
第二部分 面向对象篇
第 12 章 属性与下标
第 13 章 方法
第 14 章 构造与析构
第 15 章 继承
第 16 章 扩展和协议
第 17 章 Swift内存管理
第三部分 过渡篇
第 19 章 使用Foundation框架
第四部分 实战篇
第 20 章 iOS开发基础
第 21 章 项目实战——基于分层架构的多版本iPhone计算器
关东升 国内知名iOS技术作家,iOS技术顾问,高级培训讲师,移动开发专家。担任51CTO社区iOS技术顾问,精通iOS、Android和Windows Phone及HTML5等移动开发技术,擅长移动平台的应用和游戏类项目开发。曾先后主持开发大型网络游戏《神农诀》的iOS和Android客户端、国家农产品追溯系统的iPad客户端、酒店预订系统的iPhone客户端、金融系统微博的iOS和Windows Phone及Android客户端。在App Store上发布了多款游戏和应用软件。长期为中国移动研究院、云南移动、东软、方正科技、大唐电信、中石油、深圳康拓普、上海财富168、天津港务局等企事业单位授课。除本书外,还著有《iOS开发指南》《品味移动设计》《iOS网络编程与云端应用最佳实践》《iOS传感器应用开发最佳实践》《iOS多媒体编程技术最佳实践》《iPhone与iPad开发实战——iOS经典应用剖析》等畅销书。
Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书是其培训教材。书中系统讲解了在iOS和m...
本书使用Swift创建iOS App,内容涵盖构建一个App的最基本的内容,包括UIKit、持久化、HTTP三...
【主要内容】
本书基于Swift 3.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5部分,第一部...
Swift编程语言已然改变了iOS的世界,为Cocoa开发开启了新的篇章。
本书是帮助读者掌握Swift...
本书针对初学者,从变量、类型、函数、闭包等基本概念入手,结合Swift 示例,一步步指导读者使用Swift 开...
题记:Ind.ie发布了Phoenix项目,一个苹果Swift语言的开源实现,让开发人员可以在iOS平台之外操练Swfit。该公司官网刊登了设计师Aral写给苹果掌门人的公开信,呼吁苹果开放Swift,并指出苹果与谷歌的竞争焦点在于隐私。
致蒂姆·库克的一封公开信
![enter image description here][1]
智捷课堂携手51CTO学院、图灵教育联合举办智捷公开课。
分享移动开发、移动设计方向最新,最热,最抢眼技术热点以及设计经验。我们每周将最少举办一次公开课,同时会提前安排公开课进度。关于公开课内容,我们将选…...学习交流Swift编程语言,就上Swift编程网。 - Swift编程编程语言swift官方文档疑问(扩展)_百度知道
编程语言swift官方文档疑问(扩展)
下标(Subscripts)
扩展可以向一个已有类型添加新下标。这个例子向Swift内建类型Int添加了一个整型下标。该下标[n]返回十进制数字从右向左数的第n个数字
]返回9 ]返回8
extension Int {
subscript(digitIndex: ...
我有更好的答案
1、是同一段代码(swfit一行代码未尾可以加分号也可以不加)2、digitIndex就是将来传入的索引值(也就是下面的0,1,2,8这些)3、self在这里指的是调用者本身(在上文中指的就是7463这些数字)4、extension int这个语句是对int的类型的方法扩展,上面代码只是与subscript结合起来用了,你可以先看看subscript的示例。
采纳率:68%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。: 已经更新到 Swift 3.0。
3.0 更新说明
Swift 3.0 是自 Swift 开源以来第一个大的版本更新。从语言角度不兼容之前的 Swift 2.2 和 Swift 2.3 版本。Swift 3.0 的更新说明,大家可以查看,也可以关注
最新的文章。学习官方文档,是掌握语言特性点的最佳途径,感谢翻译的小伙伴们为 Swift 社区所做贡献!
3.0 译者记录
Functions:
Control Flow:
Protocols:
The Basics:
Advanced Operators:
Language Reference:
Attributes:
Statements:
Declarations:
Expressions:
Generic Parameters and Arguments:
感谢阅读!有了Swift,iOS开发者为何仍需掌握Objective-C? - 编程语言 - ITeye资讯
我记得很清楚,在 WWDC 2014 大会上,Apple 第一次宣布了一个为 iOS 准备的叫做 Swift 的新的编程语言。估计当时的参会者大多数都会有这样的想法在大脑里闪过:
等等,这是虾米?
天啊,我一直喜爱 Objective-C,但现在开始要学习一个新的语言了?
这是为iOS 8构建App的唯一方式?
之前有人问过这样的问题:对于初学者,Objective-C 和 Swift,你推荐先学哪一个?
真正从长远角度来看,学习 Objective-C 还是 Swift 语言其实很不重要。
Swift 刚发布的时候有人说“这下所有人都回到零起点了”,实际上是外行的一个常见的误解。Swift / Objective-C 和 iOS 开发是两个不同的概念,前者仅仅是一门编程语言,而后者则包括了编程思想、Cocoa 框架的使用,甚至交互设计规范、界面设计规范等 iOS 开发所需的一整套东西,并且绝大部分是和语言无关的。从学习的角度看,大部分时间你将花在学习 后者上,而具体语言和语法只占很小的比例。Objective-C 和 Swift 虽然语法上差异很大,但是背后的思想以及所依托的类库都是相同的。关于 iOS 应用开发你能想到的绝大多数问题,例如:
一个应用的代码是从哪里开始执行的?
如何建立一个按钮,并实现用户点击这个按钮之后调用一个函数?
如何修改一个标签的文字?
如何控制系统发出声音或者播放视频?
如何检测设备的朝向?
它们的答案都取决于Cocoa框架如何使用,而非具体采用的语言是什么——你关注的应该是背后的“我该做什么,为什么要这么做”,而不是简单的“具体怎么去写”——不同语言仅仅是一个写法不同而已,手册和网络上都可以查到,用多了自然掌握。
因此,对于一个已经掌握了 Objective-C 和 iOS 开发的人,迁移到 Swift 是几天就可以搞定的;而对于一个掌握了 Swift 和 iOS 开发的人,迁移到 Objective-C 也不会很困难。
至于选择哪个语言,我想说 Swift 代替 Objective-C 肯定是有原因的,必须承认 Objective-C 的很多语法的确很怪很繁杂(Objective-C 的啰嗦是出了名的),可能对编程语言的初学者不太友好,Swift 接受起来会稍微容易一些。但另一个事实是,目前 Swift 的文档、教程和代码还比较少,并且大部分都是关于语法的。虽然有一两个官方文档是关于如何从 Objective-C 切换到 Swift 的,也有一些 Swift 的示例代码,但和 iOS 开发这个庞大的体系比起来,覆盖面仍然很窄。这对于已经掌握 Objective-C 的开发者不是问题,但是对于什么都不会的初学者,看过 Swift 的文档之后能写一个类似 C 的控制台应用程序出来,但是很难写一个你自己想要的完整可用的 iOS App 出来。因此,基于你的情况,我还是倾向于推荐从 Objective-C 开始学起。
有 Objective-C 开发经验的开发者说
Apple 很快就将大部分的开发者聚集到一起,正如它很绅士的向大家介绍 Swift 并回答所有疑问那样。Apple 向外承诺说,iOS 开发者使用 Swift 一定能从一个现代语言里获得很多好处,包括像强类型化、类型推理、通用术语等等。这些功能都是 Objective-C 开发者一直感兴趣的东西,但是有学习 Swift 编程语言需要花多少时间精力?
学习一个新的编程语言当然不会吓到任何一个 Objective-C 开发者,但也并是说 Swift 里面的所有新的功能都很有吸引力的,更何况,Objective-C 在号就开始被用来构建 iPhone OS 里的移动App了。
上面所说到的都是有经验的开发者,那么对于没有 Objective-C 开发经验的开发者来说,他们对这个新的编程语言是什么态度呢?
真走运,可以避开 Objective-C 的折磨了。
只是一个 .swift 文件,没有标题或实现文件!太棒了!
插入语的山寨版大全终于要出来了。
这些新手也许话里话外都是在谈论 Swift,最关键的是他们都很庆幸 Swift 终于可以在不久的将来完全替代相对复杂难懂的 Objective-C 了。
Swift 开发者说
下面这些是多维数组的 Objective-C 代码片段,用Xcode输出窗口展示出来的数值:
#import &Foundation/Foundation.h&
int main()
/* an array with 5 rows and 2 columns*/
int a[5][2]-{{0,0},{1,2},{2,4},{3,6},{4,8}};
/* output each array element's value*/
for(i=0;i&5;i++)
for(j=0;j&2;j++)
NSLOG(@"a[%d][%d]=%d\n",i,j,a[i][j]);
不知道你有没有看到什么熟悉的东西,‘i’ 和 ‘j’ 代表的含义,还有循环。但是接下来的 ‘a’ 代表什么,或者 NSLog 是什么样的语法?估计没人想要写这样的代码,不管我们想要得到什么,至少这就是我们暂时想要看到的。
Swift 发布之后,我为什么还要学习 Objective-C?
要想回答这个问题,就得先解决这些问题。调试一个麻烦的 bug。
你之前有在任何移动商店构建和发布过App吗?如果有的话,你肯定在开发过程中遇到过较为严重的bug 吧。反正我是遇到过的,大多数 bug 都是比较难缠的。无论你使用的是 Swift 还是 Objective-C来编写App,底层框架都是用 Objective-C 写的。缺陷深度的执行堆栈需要超过知识迅速的语言。要是在执行栈里遇到 bug 的话,必须对 Swift 语言相当了解才能将其解决。
我之前就用 Swift 编写过一个App,同时遇到了一个用于显示数据的 TableView 上出现的问题,虽说这是一个不太复杂的问题,可是在我做了“优秀开发者”做的解决方案之后,还是没办法解决。然后在 Google 上寻找答案,虽然方法有很多,但是都只支持 Objective-C 代码。不知道要多久才能出现包括 Swift 在内的解决方案?但是我们知道目前的开发者社区里 Objective-C 是通用语言。
iOS 开发者社区的通用语言是 Objective-C
历史告诉我们,过渡是需要时间的。然而这个过渡时间需要多长,谁都说不准!在自动引用计数(ARC)发布之前,当看到‘release’和‘retain’的时候都会畏缩一阵子。在 Apple 发布一个过渡指导之后,开发者开始代替使用手动引用计数。
AutoLayout 怎么样?很多开发这一开始的时候抱着试试看的态度使用,结果并没有达到自己想要的效果,所以他们只能放弃,“等到下一个 Xcode 版本出来的时候再试试吧!”
Demo Code != Production Code
在 WWDC keynote 上面我们看到 Swift 的运行速度很快,但真的有那么快吗?之后在各个博客页上和 StackOverflow 出现了对比,用 Swift 构建各种产品。在现实情况下用 Swift 创建 App 的时候,其表现和 Objective-C 有哪些区别呢?随着时间的推移,Swift 可能会更快,但我没那么多时间去等。
Swift 一直在不断的改进
Swift 知道自己的目标,但是没什么可以击败自己老大哥 Objective-C 这么多年的经验。如果你想要添加 C++ 代码到一个 iOS App里面,你还得了解 Objective-C。
相关资源推荐

我要回帖

更多关于 swift 扩展属性 的文章

 

随机推荐