1
我对属性的理解是它们只是构造getter和setter方法。有没有办法创建一个只有setter方法的属性?我的问题类似于这个Write only property in Objective-C,但它看起来像唯一的解决方案是显式声明和定义一个setter方法。这是唯一的方法还是可以与属性完成?仅使用setter方法的iOS属性
我对属性的理解是它们只是构造getter和setter方法。有没有办法创建一个只有setter方法的属性?我的问题类似于这个Write only property in Objective-C,但它看起来像唯一的解决方案是显式声明和定义一个setter方法。这是唯一的方法还是可以与属性完成?仅使用setter方法的iOS属性
如果你问是否可以让IOS自动合成一个“只写”属性,比没有。但是,您可以显式设置一个返回nil的getter方法。
实施例:
@property(strong, nonatomic) NSString *myString;
-(NSString *)myString
{
return nil;
}
更好的是,使用'@ dynamic'以防止吸气剂合成。然后,试图读取该属性将会抛出一个异常,因为getter不存在。当然,这需要你提供你自己的setter,但是一个合成的setter可能在你不需要getter的情况下没有用。 – ughoavgfhw