1

我有一个 NSMUtableArray,我试图从核心数据存储中加载(存储中有有效数据);这是代码:

    [unsortedArray addObject:storedServices.aCustomServices1];
    [unsortedArray addObject:storedServices.aCustomServices2];

数组定义为:

@property (nonatomic, retain) NSMutableArray *unsortedArray;

我可以使用有效的静态数据加载数组:

        unsortedArray = [NSMutableArray arrayWithObjects:
                     NSLocalizedString(@"Property1",nil),
                     NSLocalizedString(@"Property2",nil),nil];

问题是尽管 CD 存储中有有效数据,但数组仍然为空。我搜索了 Google 和 SO,但没有发现任何相关内容。为什么我不能从 Core Data 存储加载?

4

1 回答 1

2

我会采取你没有分配的平底船unsortedArray。尝试:

self.unsortedArray = [NSMutableArray array];
[self.unsortedArray addObject:storedServices.aCustomServices1];
[self.unsortedArray addObject:storedServices.aCustomServices2];

这假设您有unsortedArray符合正常 MRR 内存管理实践的 getter/setter 方法。这就像使用一样简单@synthesize unsortedArray(尽管较新版本的 clang 会为您执行此操作,但我仍会明确添加它)。

注意:

self.unsortedArray = [NSMutableArray array];

应该在你的init方法中。

于 2013-08-15T16:20:48.643 回答