核心数据iOS的SIGTRAP错误



我不断从此功能获得sigtrap错误

- (void)saveShindyToDatabase
{
    NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
    // url = [url URLByAppendingPathComponent:@"Default Shindy Database"];
    self.shindyDatabase = [[UIManagedDocument alloc] initWithFileURL:url];
    [self.shindyDatabase setValue:self.detailView.text forKey:@"details"];
    if (FBSession.activeSession.isOpen) {
        [[FBRequest requestForMe] startWithCompletionHandler:
         ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
             if (!error) {
                 self.name = user.name;
                 self.photo.profileID = user.id;
                 self.username = user.username;
             }
         }];
    }
    // [Guest guestWithName:self.name username:self.username photo:self.photo inManagedObjectContext:self.shindyDatabase.managedObjectContext];
    [self.shindyDatabase setValue:self.locationManager.location forKey:@"location"];
    [self.shindyDatabase setValue:self.dateAndTimePicker.date forKey:@"dateAndTime"];
}

当用户点击按钮或背景中时,我正在尝试执行该功能。任何一个人都返回相同的错误。

我在做什么错?

弄清楚了。我在打电话给主线程。

- (void)saveShindyToDatabase
{
    dispatch_queue_t fetchQ = dispatch_queue_create("HomeViewController", nil);
    dispatch_async(fetchQ, ^{
        NSArray *shindys = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
        [self.shindyDatabase.managedObjectContext performBlock:^{
            for (NSDictionary *shindyInfo in shindys) {
                [Shindy shindyWithShindyDBInfo:shindyInfo inManagedObjectContext:self.shindyDatabase.managedObjectContext];
                NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
                // url = [url URLByAppendingPathComponent:@"Default Shindy Database"];
                self.shindyDatabase = [[UIManagedDocument alloc] initWithFileURL:url];
                [self.shindyDatabase setValue:self.detailView.text forKey:@"details"];
                if (FBSession.activeSession.isOpen) {
                    [[FBRequest requestForMe] startWithCompletionHandler:
                     ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
                         if (!error) {
                             self.name = user.name;
                             self.photo.profileID = user.id;
                             self.username = user.username;
                         }
                     }];
                }
                // [Guest guestWithName:self.name username:self.username photo:self.photo inManagedObjectContext:self.shindyDatabase.managedObjectContext];
                [self.shindyDatabase setValue:self.locationManager.location forKey:@"location"];
                [self.shindyDatabase setValue:self.dateAndTimePicker.date forKey:@"dateAndTime"];
            }
        }];
    });
}

最新更新