我只是想知道这两种语法是否存在差异
说我有这样的事情......
NSString *Jam = [[NSString alloc]init];
或
NSString *Jam;
无关紧要..
执行以下两行代码之间有什么区别..
Jam = [Jam substringToIndex:1];
和
[Jam substringToIndex:1];
为什么我发现只有NSString能够拉出类似的东西..
如果我使用了迄今为止我使用的任何其他类(我没有使用那么多),这种语法不起作用。
然而我可以使用NSString类
NSString *object = [object stringByAppendingFormat:@"%@"];
或
NSString *object;
object = [object stringByAppendingFormat:@"%@"];
但与任何其他类...说,NSInteger,如果我尝试相同的语法..
NSInteger *number = [number setIntValue:2];
我会收到一个错误,告诉我空值不会被忽略,因为它应该是。
谢谢你们。
答案 0 :(得分:0)
适用于NSString
,因为stringByAppendingFormat
会返回一个新的NSString
,它是通过将新字符串附加到原始字符串而创建的。
setIntValue
不会返回类的新副本,这就是您收到错误的原因。