这是什么?
我不确定我是否完全理解它的作用。
- (NSString *)sectionIdentifier {
[self willAccessValueForKey"sectionIdentifier"];
NSString *tmp = [self primitiveSectionIdentifier];
[self didAccessValueForKey"sectionIdentifier"];
if (!tmp) {
tmp = @"bananas";
[self setPrimitiveSectionIdentifier:tmp];
}
return tmp;
}
我为什么需要这个primitiveSectionIdentifier?
最终,我使用 Apple 文档中的示例项目来创建节标识符,以与我的 NSFetchedResultsController 一起使用。
虽然这确实有效。我对自己说,
“sectionIdentifier”将被访问, 然后我将“tmp”设置为primitiveSectionIdentifier。但是primitiveSectionIdentifier此时什么都没有!是吗?
然后我说我确实访问了“sectionIdentifier”。但我看不出“Will”和“Did”之间是怎么发生的!
谁能帮我理解这个?
[self primitiveSectionIdentifier]
是所谓的“原始访问器”(参见核心数据编程指南的词汇表)。这是实际从持久存储中获取“sectionIdentifier”值的函数。该函数由 Core Data 运行时自动创建。
willAccessValueForKey
和 didAccessValueForKey
是“通知方法”。根据文档,它们用于键值观察,维护反向关系等。
所以模式是:
关于objective-c - 使用 transient 属性时对原语的需求是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12286883/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |