让一个类的多个实例指向一个对象@property

时间:2014-08-09 20:50:40

标签: ios objective-c core-data properties

我会尽量让这个问题变得可以理解。我正在我的应用程序中实现核心数据,我需要从大约10,000个不同的类实例(此类扩展NSManagedObjectContext)访问UIView。核心数据存储在这些实例上显示的内容,并且类构建它。

到目前为止我找到的所有内容都使用了视图控制器,其中只有一个实例,因此您只需alloc init AppDelegate中的VC,为{{设置@property 1}}并且在你的路上。这对我的程序不起作用。

我想要做的是拥有我的NSManagedObjectContext类的许多实例(我将在类中有CoreDataHelper,我有大约10,000个实例,它们都有一个指向同一个属性{ {1}}。这是一种可能的方法吗?或者我必须通过移动所有代码来创建10,000个不同的对象到alloc init来使我的程序不那么灵活吗?

2 个答案:

答案 0 :(得分:0)

当然,只需将NSManagedObjectContext放在singleton中,您的所有实例都可以访问单个班级。

答案 1 :(得分:0)

如果从单例或应用程序委托中获取托管对象上下文(可能是默认情况下设置了核心数据堆栈),则无关紧要。

要遵循Apple使用视图控制器建议的模式,请对您的视图执行完全相同的操作:为其指定@property类型NSManagedObjectContext并在初始化期间设置它。看起来很直接。

单例的优点是你甚至不需要视图中的属性,而是可以调用单例。但为什么要去那里?从你的评论中我了解到你并不真正知道单身人士是如何运作的。你不需要它。使用类属性解决方案。

还有一点需要注意:通过您的设置,您正在严格制动MVC架构,方法是让视图访问您的数据。相反,您确实应该使用视图控制器执行此操作,然后使用检索到的数据填充视图。我认为没有令人信服的理由偏离这一原则。