所以我已经阅读了很多关于@NSManaged的内容,很多人都说它与Objective-C中的@dynamic属性相同。有人还说,基本上机器代码需要在编译时出现在普通代码中,但是使用NSManaged标签,你可以小指望编译器,你将它放在那里。
现在NSManaged与之间的区别是什么?运营商?在我看来,它们看起来非常相似,我告诉编译器它们将在运行时设置,即使我的代码没有反映出来。
有些澄清只是要知道。谢谢!
答案 0 :(得分:1)
@NSManaged
和!
运算符之间的区别在于前者告诉编译器 Core-Data 将处理变量/常量的实现,而{{} 1}}运算符只需展开可选值,使您在声明变量/常量时不必设置原始值。如此声明的变量或常量:!
是隐式解包可选,这意味着您不必打开它来使用它。但是,它仍然可以是零,如果你尝试使用它,那么Xcode会在运行时对你大喊(应用程序会崩溃)。