作者yllan (蓝永伦)
看板MacDev
标题Re: [问题] 怎样才能使用Objective-C 2.0呢?
时间Thu Nov 1 09:56:09 2007
※ 引述《Devon22 ()》之铭言:
: 最近更新Leopard後也把XCode 3.0装了上去
: 不过对於这次新增的Objective-C 2.0该怎麽使用却毫无头绪..
: 有没有大大能分享这方面的资讯呢?
: 另外再请教一个问题
: 不晓得我有没有理解错误?
: Objective-C 2.0 只要配合10.4的SDK还是可以写出10.4可以跑的程式吗?
: 应该不会有只能相容於10.5的情况吧?
就是会喔~很多 feature 用了以後就是 Leopard only 了。
objc-2.0 官方文件:
http://tinyurl.com/yw3t
Garbage Collection:
不用再写 release / autorelease 了...
Property:
支援 dot syntax, my.money = 100 ,自动 accessor 生成,而且是 atomic 的:
@interface Human : NSObject {
int _money;
}
@property(readwrite) int money;
@end
@implementation Human
@synthesize money=_money;
@end
这边语法实在太杂了,请参考上面的文件
Fast Enumeration:
for (NSString *s in arrays) {}
速度很快!
Formal Protocol:
现在有 @require 和 @optional 两个关键字
Category:
现在有 anonymous category (private).
@interface ClassName ()
更好的安全机制
可限制直接取用 ivar
try/catch block
@try {} @catch () {}
有的没的还蛮多的...
现在我仍然坚守 objc-1.0 ,没办法,因为要 target 10.4
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.31.3
1F:推 Blueshiva:所以在10.5上也可以纯用Obj-C 1.0来写相容於10.4的程式? 11/01 11:28
2F:推 yllan:可,不过之前 OV team 那边的经验是可能会出一点状况 11/01 12:12
3F:→ yllan:也许是那时 leopard 还在 beta 的关系... 11/01 12:13
4F:推 Devon22:那麽原来的10.4程式要改用10.5 SDK才能使用obj-c 2.0罗? 11/01 15:51
5F:推 yllan:是啊,ObjC-2.0 只能在 leopard 上 run, 当然用 10.5 sdk 11/03 09:24
6F:推 jclin:实在很没道理...就好像说 GCC4 不能用在 RH9 一样 11/06 15:58
7F:→ jclin:不过主要还是apple不释放出那些 obj-c 2.0 lib 11/06 15:59
8F:推 Blueshiva:感觉这次10.5核心改了很多东西,向前相容性出了不少问题 11/06 21:19