在Objective C中获取自定义对象数组[关闭]

Posted

技术标签:

【中文标题】在Objective C中获取自定义对象数组[关闭]【英文标题】:Get array of custom NSObjects in ObjectiveC [closed] 【发布时间】:2013-07-01 10:36:55 【问题描述】:

我有一个SPObject 类,它是一个自定义的NSObject。在ViewControllerviewDidLoad 方法中,我正在创建SPObject 的一个实例。还有一个按钮,点击后会创建一个新的SPObject

当我的应用程序进入后台时,我想将这些SPObjects 保存在数据库中。因此,在applicationDidEnterBackground 方法中,我使用

获取主 ViewController 的实例

ViewController * vc = (ViewController *)self.viewController;

我想知道如何在上一行的下一行中获取当前SPObjects 的列表。

如果我想要的是 UIViews 列表,我可以这样做,

for(UIView * subView in vc.view.subviews)

这会返回一个很好的列表。

我该怎么做?

【问题讨论】:

它们是否存储在该视图控制器某处的属性或数组中? 对于这样的东西,您可能需要使用 Core Data。 您希望这些对象在每次应用执行时都存在吗? 是的,这就是我需要将它们存储在数据库中的原因。这就是为什么当应用进入后台时我需要一个对象列表。 【参考方案1】:

拥有对象的数组属性:

@property (nonatomic, retain) NSMutableArray *objects;

当您创建新对象时,将其添加到此数组中:

[self.objects addObject:newSPobject];

进入后台时得到这个数组:

NSMutableArray *objects = vc.objects;

现在你可以随心所欲地使用这个数组

【讨论】:

为此使用属性而不是实例变量是否有优势?在我看来,如果在对象之外不需要数据,则使用属性会更加复杂。 你仍然想使用属性,即使你不在类之外访问它,因为它更容易保留对象 SPObject 实例中的值不断变化,所以我只需要在进入后台时获取对象列表。 人力资源部。我没有在没有 ARC 的情况下使用 ObjC 编码的优势;当使用 ARC(现在似乎是常态)时,情况仍然如此吗? @CharlesD'Monte 是不是更容易维护这个列表,而不是稍后尝试将它放在一起?

以上是关于在Objective C中获取自定义对象数组[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从Objective C中的json对象获取值? [关闭]

获取嵌套的自定义字段 JSON Objective C

编写一个复杂的自定义结构数组到文件 Objective C

在Objective-C中按一个属性对自定义对象的NSSet进行排序

如何将自定义对象的 NSArray 归档到 Objective-C 中的文件

iOS本地化在Xcode中不适用于Objective-C中的自定义标签[关闭]