菜鸟教程小白 发表于 2022-12-12 13:14:49

iphone - 对象属性为只读且已计算(派生)时的 valueforkey


                                            <p><p>我在计算的属性上调用 valueforkey 方法时遇到问题。例如:</p>

<pre><code>@interface Value : NSObject
@property(nonatomic,getter = toString,readonly)NSString *stringVal;

-(NSString*) toString;
@end
</code></pre>

<p>当我调用 时,它说它不符合键值。确切的消息是:</p>

<p>:这个类对于键 stringVal 不符合键值编码。</p>

<p>键值编码是否适用于派生属性?</p>

<p>谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你已经将getter方法设置为<code>toString</code>,所以</p>

<pre><code>
</code></pre>

<p>应该可以。请注意,您不必“重命名”getter 方法,您只需
覆盖默认的 getter:</p>

<pre><code>@property(nonatomic,readonly) NSString *stringVal;

- (NSString *)stringVal
{
    NSString *s = ...; // compute property value
    return s;
}
</code></pre>

<p>然后 <code>instance.stringVal</code> 和 <code></code>
可以使用“相同的 key ”。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 对象属性为只读且已计算(派生)时的 valueforkey,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17999727/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17999727/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 对象属性为只读且已计算(派生)时的 valueforkey