0

为什么会出现以下情况:

[object propertyName:propertyValue]在 Xcode 4.3 和 Lion 中导致上述异常,但object.propertyName=propertyValue可以正常工作吗?有问题的@property 是一个简单的浮点数,我也使用过@synthesize。

我对 Objective C 比较陌生,但在 C# 方面有相当多的经验,并且一直在阅读 Aaron Hillegass 的关于这两种方法被列为同义词的主题的书,其中 [...] 是首选的一种.

4

2 回答 2

3

setter 方法的名称与属性不同。您想要setPropertyName而不是propertyName在将其作为方法调用时。getter 仍然只是属性名称。

请参阅如何为 ivar 编写我自己的 setter 以获得一个很好的示例。

于 2012-04-16T16:37:02.757 回答
0

当您使用@propertyand@syntesize来声明变量时,系统会为您编写 get 和 set 方法。在此您需要使用[object setPropertyName:propertyValue]. 您也可以使用object.propertyName=propertyValue,但它是一种 C 编程风格。

于 2012-04-16T16:48:45.680 回答