1

我正在尝试获取数组中的项目数,以将其right detail放在cell. 有趣的是,我得到了正确的结果count,但是当我尝试NSLog返回数组时<fault>

NSPredicate *searchPredicate = [NSPredicate predicateWithFormat:@"muscleGroup == %@ && specificExercise == %@ && date >= %@ && date < %@", theMuscleGroup, theExercise, fromDate, toDate];

NSFetchRequest *fetchRequestTemp = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
                               entityForName:@"WeightLiftingInfo" inManagedObjectContext:_managedObjectContext];

[fetchRequestTemp setPredicate:searchPredicate];
[fetchRequestTemp setEntity:entity];
NSError *error;
NSArray *tempArray = [[NSArray alloc] initWithArray:[_managedObjectContext executeFetchRequest:fetchRequestTemp error:&error]];

NSLog(@"%@", tempArray);
NSLog(@"%d", [tempArray count]);

我的问题: 基本上,我做错了什么?我是在不正确地初始化阵列还是试图不正确地记录它?

我已经研究了几个小时并尝试了不同的编码,但无法弄清楚。任何帮助,将不胜感激。如果您需要更多信息,或者我正在根据 SO 做一些违反指南的事情,请在关闭此线程或“-1”之前告诉我。有怜悯,我是新的和倾斜的:)

4

1 回答 1

2

当你执行你的 fetch 请求时,你会得到一个managed object fault。也就是说,即使还没有从数据存储中加载真正的数据对象,也可以表示结果的类似代理的对象。故障知道数组中有多少对象等,并且当您访问对象时,故障将透明地加载真实对象。

所以,情况正常,不用担心。尝试使用结果而不是记录它们,我认为您会发现一切正常。

于 2012-06-20T17:58:09.267 回答