小编Naz*_*Mir的帖子

Coredata - "NSObjectInaccessibleException - CoreData无法完成故障"

我是核心数据的新手,仍在搞清楚螺母和螺栓,这个错误一直困扰着我几个小时,我似乎无法找到解决方案.任何帮助是极大的赞赏.

问题是这样的

我有两个视图从服务器获取数据并更新UI.我已经用这种方式建立了流程

view1 - >从服务器发送HTTP请求 - 接收回调 - >将数据保存到Coredata - >从核心数据读取并在UI上显示(回调和保存/读取Coredata发生在ViewController中)

view2 - >从服务器发送HTTP请求 - 接收回调 - >将数据保存到Coredata - >从核心数据读取并在UI上显示(回调和保存/读取Coredata发生在ViewController中)

视图2每3秒重复此过程,因为这是一个自动刷新屏幕.

问题是每当我尝试快速切换视图1和2时,它会因上述错误而崩溃应用程序.如果我在每个视图上等待几秒钟(等待从服务器获取数据),它可以正常工作.我做错了什么,我需要修改什么?

- (void) refreshData {
    [super refreshData];
    [[UserDataFactory sharedSingleton] refreshLoggedInUserDataAndRespondTo:self user:self.user];
}

- (BOOL) refreshDataCallback:(QExtendedHTTPOperation*)responseOperation {
    [self saveToCoreData: responseOperation.responseArray];
    NSMutableArray *tmp = [[NSMutableArray alloc] initWithArray:[self readFromCoreData]];
    [self setData: tmp];
    [tmp release];
    [self.tableView reloadData];
    return YES;
}

- (void) saveToCoreData:(NSArray *) responseArray{
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"CoreView1" inManagedObjectContext:self.managedObjectContext];
    [fetchRequest setEntity:entity];
    [fetchRequest setReturnsObjectsAsFaults:NO];
    NSError …
Run Code Online (Sandbox Code Playgroud)

iphone core-data objective-c fault

32
推荐指数
1
解决办法
2万
查看次数

UIWindow setRootViewController不清除现有层次结构

在我的应用程序中,我以编程方式根据用户操作(例如登录/注销功能)更改根视图控制器.

在iOS 8中 - 我注意到一个奇怪的问题.即使在窗口上设置rootViewController之后,旧的层次结构仍然存在.我只是通过捕获视图层次结构来验证它.

- (void) logout{
     [self.window setRootViewController:[self loadLoginView]];
}

-(UIViewController *) loadLoginView{
      WelcomeScreenVC *wsVC;
      wsVC = [[WelcomeScreenVC alloc] initWithNibName:@"WelcomeScreenVC" bundle:nil];
      UINavigationController *onboardingVC = [[UINavigationController alloc]initWithRootViewController:wsVC];
      return onboardingVC;
 }
Run Code Online (Sandbox Code Playgroud)

即使在执行此行代码后,旧的登录视图层次结构仍然存在.如果有人能够提出幕后发生的事情,我将不胜感激.

编辑:我只看了UIWindow setRootViewController文档,这里是Apple对它的评价:

根视图控制器提供窗口的内容视图.将视图控制器分配给此属性(以编程方式或使用Interface Builder)将视图控制器的视图安装为窗口的内容视图.如果窗口具有现有视图层次结构,则在安装新视图之前将删除旧视图.

uikit uiview ios ios8

7
推荐指数
1
解决办法
3234
查看次数

我实际上可以安装一些没有配置的应用程序

昨天我正在玩three20图书馆.我点击命令+进入构建并在我的模拟器上运行应用程序,令我惊讶的是它在我的设备iPod Touch第四代上安装了应用程序.我真的不知道发生了什么,我尝试用我的其他项目做的很少不幸的是它没有用.

今天,我从Apple的开发者网站下载了快速联系人示例代码,同样的事情发生了,我可以在我的设备上安装该应用程序,无需任何配置.我看到,对于上述两个项目(三个20和快速联系人),我的设备列在活动的可执行文件中.

但对于其他项目,我的设备未列出.我尝试在其他设备上运行上述两个应用程序,这些应用程序失败并显示一条消息 - "未找到配置的iOS设备".我的设备不是越狱,它是我几天前买的一个全新的设备.

我错过了什么,因为能够安装应用程序而不通过Apple的门户网站是一个巨大的奖金,我也希望为我的其他应用程序实现相同的功能.

我尝试附加截图,但看起来我至少需要10分才能这样做而且我是新来的.抱歉.

iphone install device provisioning ios

5
推荐指数
1
解决办法
2459
查看次数

标签 统计

ios ×2

iphone ×2

core-data ×1

device ×1

fault ×1

install ×1

ios8 ×1

objective-c ×1

provisioning ×1

uikit ×1

uiview ×1