有人可以在目标C中向我解释原因 用
声明字符串时NSString *string;
我可以同时使用string.length
和[string length]
来返回字符串的长度吗?
-(NSUInteger *)length
那为什么我可以使用(点)符号?
答案 0 :(得分:2)
这只是语法糖,它们都是一样的。点符号随@property
一起出现,但在幕后它会转换为方法调用。实际上,您拥有的任何@property
定义都将生成相关的访问器方法,它们实际上是被调用的。同样,您可以调用方法名称而不是使用点表示法。
尝试使用对您和上下文都最有意义的符号。点符号不能与采用任何参数的方法一起使用,但也只能用于没有副作用的方法。
有关该主题的有趣文章at the big nerd ranch。