我不明白为什么我的应用程序崩溃以及如何避免它,
在.h中
@property (nonatomic) NSArray * PersonsFromSearch;
以 .m 为单位
崩溃区
viewDidLoad
NSArray* nameArr;
if([defaults objectForKey:@"Person1"])
{
nameArr = [NSArray arrayWithObjects: [defaults objectForKey:@"Person1"],Nil];//ate
PersonsFromSearch = nameArr;//crashes here :(
NSLog(@"not crashed yet");
}
在同一文件分配到本地存储
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self dismissKeyboard];
//test solution :)
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];//store it !
[defaults setObject:[PersonsFromSearch objectAtIndex:indexPath.row] forKey:@"Person1"];//store 1 person Full details
[[NSUserDefaults standardUserDefaults] synchronize];//store indeed
//keep with code
}
崩溃详细信息:
2013-11-10 08:50:47.938 RevealControllerProject[1375:a0b] -[__NSCFArray objectForKey:]:无法识别的选择器发送到实例 0xe008a00
2013-11-10 08:50:47.942 RevealControllerProject[1375:a0b] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFArray objectForKey:]:发送了无法识别的选择器到实例 0xe008a00'
* 第一个抛出调用堆栈:
最佳答案
使用PersonsFromSearch =[NSArray arrayWithArray:nameArr];
关于ios - 检索阵列时本地存储崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19887059/