首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSManagedObject变为空

NSManagedObject变为空
EN

Stack Overflow用户
提问于 2013-03-07 00:02:17
回答 1查看 367关注 0票数 0

我在我的ViewController中使用了一个NSManagedObject作为属性,声明如下:

代码语言:javascript
复制
@property(retain, nonatomic)NSManagedObject *person;

我正在将fetch的内容传播到UITableView,当用户点击他正在查找的联系人时,会发生以下情况:

代码语言:javascript
复制
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
       self.person = [contacts objectAtIndex:indexPath.row];

Contacts包含获取的结果,该操作如下所示:

代码语言:javascript
复制
NSArray *contactsArray;
NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

NSManagedObjectContext *context = [(OAuthStarterKitAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];

NSEntityDescription *entity = [NSEntityDescription
                               entityForName:@"Contacts" inManagedObjectContext:context];



[fetchRequest setEntity:entity];
testForTrue = [NSPredicate predicateWithFormat:@"SOME CONDITION"];

[fetchRequest setPredicate:testForTrue];
    [fetchRequest setFetchLimit:10];



contactsArray = [[NSArray alloc]initWithArray:[context executeFetchRequest:fetchRequest error:&error]];

当用户点击联系人时,self.person具有该值,但当我尝试在另一种方法中使用该值时,该值为nil,地址为0x000000。这只在iOS 5上发生,在iOS 6上,person具有所选联系人的值,我可以在其他地方使用。

有什么想法吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-03-07 17:47:31

而不是获取NSManagedObject,它总是依赖于上下文的生命周期,我只是存储了de NSManagedObjectID,然后使用函数objectWithID获取NSManagedObject。它成功了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15252179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档