当我尝试初始化tableView:cellForRowAtIndexPath中的对象时,模拟器崩溃了。我使用的代码是
Claimant *tempClaimant = [[Claimant alloc] init];
tempClaimant = [appDelegate.arrRetailClaims objectAtIndex:0];
NSLog(@"Claimant Name is: %@",tempClaimant.ClaimantName);
这有什么不对吗?在viewDidLoad方法中编写时,相同的代码可以正常工作。请帮忙..
提前致谢, 世斌
答案 0 :(得分:3)
首先,如果您只需要对数组中现有对象的引用,则没有理由分配和初始化新对象:
//Claimant *tempClaimant = [[Claimant alloc] init];
Claimant *tempClaimant = [appDelegate.arrRetailClaims objectAtIndex:0];
接下来,确保数组和对象按预期存在:
NSLog(@"array = %@ %d",appDelegate.arrRetailClaims,[appDelegate.arrRetailClaims count]);
NSLog(@"tempClaimant = %@",tempClaimant);
NSLog(@"Claimant Name is: %@",tempClaimant.ClaimantName);
答案 1 :(得分:0)
该属性可能尚未分配或在某些时候被释放,因为您正在发送一个取消/取消分配的实例。