3

この配列をユーザーのデフォルトに保存しようとしているだけで、ランダムにクラッシュします。うまくいくこともあれば、EXC_BAD_ACCESS が表示されることもあります。何かを適切にリリースしていませんか?

- (void)setTextValue:(NSString *)valueText indexToSet:(NSUInteger)index
{
    [self.pageData replaceObjectAtIndex:index withObject:valueText];
    [[NSUserDefaults standardUserDefaults] setObject:self.pageData forKey:@"mynotes"];
}

これが、エラーの原因であると判断した方法です。独自のカスタム コードを追加したのは、Xcode によって既に作成されているメソッドでした。

- (nbookDataViewController *)viewControllerAtIndex:(NSUInteger)index storyboard:(UIStoryboard *)storyboard
{   
    nbookDataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"nbookDataViewController"];
    if (self.pageData.count > 0 && index < self.pageData.count)
    {
        NSString *val = (NSString *)[self.pageData objectAtIndex:index];
        dataViewController.dataObject = val;
    }
    else
    {
        NSDate *date = [NSDate date];
        NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
        [dateFormat setDateFormat:@"MMMM d, YYYY"];
        NSString *dateString = [dateFormat stringFromDate:date];
        //[dateFormat release];
        [self.pageData addObject:dateString];
        dataViewController.dataObject = (NSString *)[self.pageData objectAtIndex:index];
    }
    dataViewController.myModel = (nbookModelController *)self;
    dataViewController.dIndex = index;
    //[self.mySaveData setObject:self.pageData forKey:@"mynotes"];
    return dataViewController;
}
4

1 に答える 1

1

このヒントでは、例外をコードで中断し、なぜこれが発生しているのかを直接確認できます: https ://stackoverflow.com/a/616526/46970

于 2012-09-07T12:38:02.750 に答える