【发布时间】:2009-10-19 16:29:20
【问题描述】:
这段代码...
NSString * s = [[NSString alloc] initWithString:@"Hello, World"];
s = s.lowercaseString;
NSLog(@"%@", s);
...允许使用点表示法,但是是强类型的。 这段代码...
id s = [[NSString alloc] initWithString:@"Hello, World"];
s = [s lowercaseString];
NSLog(@"%@", s);
... 是弱类型,需要使用方括号。
除此之外,使用一个比另一个有什么优势吗?
【问题讨论】:
-
不是真的,其他问题询问
NSObject*和id之间的区别。这个问题在这里询问为什么要明确使用正确的类型。 -
@gs:它们都是关于 Objective-C 静态类型的,而且这个问题的答案也回答了这个问题。仅仅因为一个使用一个类作为示例而另一个使用不同的类并不会使它们有显着不同。
标签: objective-c memory nsstring