菜鸟教程小白 发表于 2022-12-13 16:11:20

objective-c - 使用 transient 属性时对原语的需求是什么?


                                            <p><p>这是什么?</p>

<p>我不确定我是否完全理解它的作用。</p>

<pre><code>- (NSString *)sectionIdentifier {

    ;
    NSString *tmp = ;
    ;

    if (!tmp) {

      tmp = @&#34;bananas&#34;;

      ;
    }
    return tmp;
}
</code></pre>

<p>我为什么需要这个<strong>primitiveSectionIdentifier</strong>?</p>

<p>最终,我使用 Apple 文档中的示例项目来创建节标识符,以与我的 NSFetchedResultsController 一起使用。</p>

<p>虽然这确实有效。我对自己说,</p>

<p>“<strong>sectionIdentifier</strong>”将被访问,
然后我将“<strong>tmp</strong>”设置为<strong>primitiveSectionIdentifier</strong>。但是primitiveSectionIdentifier此时什么都没有!是吗?</p>

<p>然后我说我确实访问了“<strong>sectionIdentifier</strong>”。但我看不出“Will”和“Did”之间是怎么发生的!</p>

<p>谁能帮我理解这个?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p><code></code> 是所谓的“原始访问器”(参见核心数据编程指南的词汇表)。这是实际从持久存储中获取“sectionIdentifier”值的函数。该函数由 Core Data 运行时自动创建。</p>

<p><code>willAccessValueForKey</code> 和 <code>didAccessValueForKey</code> 是“通知方法”。根据文档,它们用于键值观察,维护反向关系等。</p>

<p>所以模式是:</p>

<ol>
<li>告诉大家你要读取一个值。</li>
<li>读取值。</li>
<li>告诉大家您已经阅读了该值。</li>
</ol></p>
                                   
                                                <p style="font-size: 20px;">关于objective-c - 使用 transient 属性时对原语的需求是什么?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/12286883/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/12286883/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: objective-c - 使用 transient 属性时对原语的需求是什么?