Posts Tagged apple

Swift语法介绍

2014.6.3日,苹果公布最新编程语言Swift,Swift是一种新的编程语言,用于iOS和OS X应用的开发,没有C的兼容性限制,Swift采用安全的编程模式,增加了现代功能,使编程变得容易,更灵活,更有趣,Swift的重新设计,依靠成熟和备受喜爱的Cocoa, Cocoa Touch 框架,是重新构想软件如何开发的机会。

以下为语法介绍

原文:A Swift Tour

传统建议新语言的第一个程序是打印“Hello world”,对于Swift是下面的一行代码

println("Hello, world")

如果你用C或者Objective-C编写过代码,这段句法会感觉熟悉,在Swift中,这是一行完整的代码,不需要引入单独的库比如输入输出或者字符串操作,在全局作用域下编写的代码会作为程序的入口,所以你也不需要main函数,你同样不需要在每段代码后面写分号

这次tour将教你使用Swift编程的足够信息,完成各种编程任务,如果你有不理解也不用担心,本次演示的任何内容在后面的章节中都有详细的介绍

关于Swift

原文:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097-CH3-XID_0

Swift是一种新的编程语言,用于iOS和OS X应用的开发,没有C的兼容性限制,Swift采用安全的编程模式,增加了现代功能,使编程变得容易,更灵活,更有趣,Swift的重新设计,依靠成熟和备受喜爱的Cocoa, Cocoa Touch 框架,是重新构想软件如何开发的机会

Swift已酝酿多年,苹果公司推动了Swift的编译器,优化了我们现有的编译器、调试器和架构基础,我们简化了内存管理,使用了自动引用计数(ARC),我们的框架栈构建在Foundation和Cocoa坚实的基础上,已经全面现代化和标准化,Objective-C本身已经进化到支持块,文本集合和模块,使得框架支持现代语言技术,感谢这些基础性的工作,使得我们能推出一款新的编程语言开发Apple应用

Objective-C开发者对Swift会感到熟悉,因为我们采用了Objective-C命名参数和强大的Objective-C动态对象模型,可以无缝的访问已有的Cocoa框架,与Objective-C代码混合使用,在这之上,Swift又提供很多新的特性和统一的面向对象语言

Swift对于新的程序员很友好,他是第一个如同脚本语言般丰富和有趣的工业级系统编程语言,支持代码预览(playgrounds),这种特性允许开发者实时的看到运行结果,而不需要重新编译和运行

Swift结合了最好的现代语言思想,是大量苹果工程师的智慧文化结晶,编译器为性能做了优化,语言为开发做了优化,不做任何牺牲,他的设计从“hello world”到整个操作系统,所有这些意味着Swift是开发者和苹果未来的投资

用Swift编写iOS和OS X应用是一种很棒的方式,将持续推出新的特性和性能改善,我们的目标很大,我们迫不及待看到你用它来创造。

http://ycoder.com/关于swift/

Objective-C – 关联引用

你可以使用关联引用模拟在已存在的类上添加对象参数,这个功能只在Mac OS X v10.6和以上版本支持

在类外添加存储

使用关联引用,你可以对一个对象添加数据而不需要修改这个类定义,这在你没有这个类的源代码时很有用,或者是为了二进制兼容的原因你无法修改这个对象的时候。

关联基于一个key,所以你可以在一个对象上添加多个关联,每个使用不同的key,关联对象也可以确保被关联的对象是否存在,至少在源对象的生命周期内(也就是说这个对象没有将被引入到垃圾回收系统的可能性)

创建关联

你可以使用方法 objc_setAssociatedObject 创建一个关联,这个方法有四个参数,源对象,key,值,关联方式,key和关联方式值得进一步说明

  • key是一个 void 指针,必须唯一,通常使用static变量
  • 方式指关联对象是否转让,保留还是复制,关联是按原子级还是非原子级,这与声明属性的元属性类似( “Property Declaration Attributes”),你可以使用一个常量(见 objc_AssociationPolicy)来指定这种联系的方式

下面的例子显示如何建立一个数组和一个字符串之间的关联