我只是碰到了這個問題,即奇怪的結果上iOS10
+ (NSArray *)fetchMyStuffInContext:(NSManagedObjectContext *)_moc
{
NSFetchRequest *request;
NSPredicate *pred;
__block NSError *error;
__block NSArray *myStuff;
request = [[NSFetchRequest alloc] initWithEntityName:@"myobs"];
pred = [NSPredicate predicateWithFormat:@"anAttribute == YES"];
[request setPredicate:pred];
error = nil;
[_moc performBlockAndWait:^{
myStuff = [_moc executeFetchRequest:request error:&error];
}];
[request release];
if (error) {
NSLog(@"Error while fetching:\n%@",
([error localizedDescription] != nil) ?
[error localizedDescription] : @"Unknown Error");
return [NSArray array];
}
return myStuff;
}
返回上iOS10 ID數組和iOS9管理對象的數組。
iOS9導致po myStuff
:
<_PFArray 0x16589ee0>(
<MyObj: 0x16589bb0> (
entity: myobs;
id: 0xd000000000040000 <x-coredata://81E85B5C-6504-4269-974B-5AB4449658DC/myobs/p1> ;
data: <fault>))
iOS10導致po myStuff
:
<__NSArrayM 0x170053e90>(
0xd000000000040000 <x-coredata://81E85B5C-6504-4269-974B-5AB4449658DC/myobs/p1>
)
這是爲什麼?
在iOS上10,我可以通過調用
[moc objectWithID:]
缺少什麼我在這裏檢索對象?
主要是你錯過了,設置了這種讀取請求時,它真正需要的代碼包括在你的問題中。 –
@TomHarrington感謝您的評論。我更新了代碼。 – lupz