NSDictionary的EXC_BAD_ACCESS错误

profidash_98

当我从JSON文件中获取数据时,出现错误-> EXC_BAD_ACCESS

我没有使用ARC,这是我的代码:

    -(void)fetchedData:(NSData*)responseData
{
    NSError *error;
    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

    fetchedResutsArray = [json objectForKey:@"People"];

    NSLog(@"%@", fetchedResutsArray);
    [self.tableView reloadData];
}

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"Cell";
    //OrderCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    // Configure the cell...
    NSDictionary *resultsDict = [fetchedResutsArray objectAtIndex:indexPath.row];

    cell.textLabel.text = [resultsDict objectForKey:@"prename"];

    return cell;
}

这是我的JSON结果。我从网站JSON获取数据:

 {
        prename = "Tim";
        lastname = "Test";
        username = "tim23";  
    },
        {
        prename = "John";
        lastname = "Test";
        username = "johniii";  
    },
        {
        prename = "Peter";
        lastname = "Test";
        username = "tenek23";        
    }

Xcode在NSLOG中显示了这一点。

马蒂亚斯·鲍赫(Matthias Bauch)
fetchedResutsArray = [json objectForKey:@"People"];

这将创建一个自动释放的对象,该对象将早晚释放。您不得在该方法之外访问此对象。您违反了内存管理规则。

您可以保留该对象,这应该可以解决您的问题。

[fetchedResutsArray release]; // release old instance
fetchedResutsArray = [[json objectForKey:@"People"] retain];

或使用保留@property并使用分配对象self.fetchedResutsArray = [json objectForKey:@"People"];别忘了释放对象dealloc

或者只是使用ARC。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

EXC_BAD_ACCESS on iOS 8.1 with Dictionary

来自分类Dev

指向函数头的EXC_BAD_ACCESS

来自分类Dev

NSDictionary EXC_BAD_ACCESS

来自分类Dev

UIAlertController EXC_BAD_ACCESS错误-Swift

来自分类Dev

结构的std :: string成员的EXC_BAD_ACCESS错误

来自分类Dev

AFHTTPRequestOperationManager的EXC_BAD_ACCESS

来自分类Dev

NSManagedObject在Swift中实现协议的EXC_BAD_ACCESS错误

来自分类Dev

按下按钮时发生错误EXC_BAD_ACCESS

来自分类Dev

GCD / NSOperationQueue EXC_BAD_ACCESS

来自分类Dev

MIDINetworkConnection EXC_BAD_ACCESS错误

来自分类Dev

EXC_BAD_ACCESS在mergeChangesFromContextDidSaveNotification

来自分类Dev

NSNotificationCenter使用SpriteKit导致EXC_BAD_ACCESS错误

来自分类Dev

调试EXC_BAD_ACCESS

来自分类Dev

迅速细分错误(EXC_BAD_ACCESS)

来自分类Dev

Swift dispatch_async导致EXC_BAD_ACCESS错误

来自分类Dev

带有ARC的UITableView上的EXC_BAD_ACCESS错误?

来自分类Dev

fscanf中的Exc_bad_access错误

来自分类Dev

SKTexture EXC_BAD_ACCESS

来自分类Dev

CGImageRef出现EXC_BAD_ACCESS错误

来自分类Dev

EXC_BAD_ACCESS StringWithFormat

来自分类Dev

结构的std :: string成员的EXC_BAD_ACCESS错误

来自分类Dev

为什么会出现EXC_BAD_ACCESS错误

来自分类Dev

NSManagedObject在Swift中实现协议的EXC_BAD_ACCESS错误

来自分类Dev

EXC_BAD_ACCESS错误,无信息

来自分类Dev

Swift中的EXC_BAD_ACCESS错误代码

来自分类Dev

错误:“线程1:EXC_BAD_ACCESS(Code = EXC_I386_GPFLT)

来自分类Dev

CLLocationManager EXC_BAD_ACCESS错误

来自分类Dev

插入 NSManagedObject 时出现 EXC_BAD_ACCESS 错误

来自分类Dev

我猜 NotificationCenter 出现 EXC_BAD_ACCESS 错误?