【问题标题】:iOS property with only setter methodiOS 属性只有 setter 方法
【发布时间】:2013-08-24 11:52:15
【问题描述】:

我对属性的理解是,它们只是构造 getter 和 setter 方法。有没有办法创建一个只有 setter 方法的属性?我的问题与Write only property in Objective-C 类似,但看起来唯一给出的解决方案是明确声明和定义一个 setter 方法。这是唯一的方法还是可以通过属性来完成?

【问题讨论】:

    标签: ios properties


    【解决方案1】:

    如果您要问是否可以让 IOS 自动合成“只写”属性,则不能。但是,您可以显式设置返回 nil 的 getter 方法。

    例子:

    @property(strong, nonatomic) NSString *myString;
    
    -(NSString *)myString
    {
        return nil;
    }
    

    【讨论】:

    • 更好的是,使用@dynamic 来防止合成getter。然后,尝试读取该属性将引发异常,因为 getter 不存在。当然,这需要您提供自己的 setter,但是在您不想要 getter 的情况下,合成的 setter 可能没有用。
    猜你喜欢
    • 1970-01-01
    • 2014-03-26
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    相关资源
    最近更新 更多