我有几年前在Obj C开发的应用程序。我使用NSUserDefaults来创建要显示的数据,如下所示:检查是否在旧版本的应用程序中使用了NSUserDefaults
NSUserDefaults *userData = [NSUserDefaults standardUserDefaults];
if ([userData objectForKey:@"personDataArray"]==nil)
{
mutableDataArray = [[NSMutableArray alloc] init];
}
else
{
// get the array back out of NSUserDefaults
NSArray *tempArray = [userData objectForKey:@"personDataArray"];
// NSLog(@"The count in the temp saved data is %lu", (unsigned long)tempArray.count);
// look for any NSData objects in my temp array
for (NSData *personData in tempArray)
{
// set a instance of the person class to each NSData object found in the temp array
GD_Owed_Person *personObject = [[GD_Owed_Person alloc] init];
personObject = [NSKeyedUnarchiver unarchiveObjectWithData:personData];
// NSLog(@"CHECK ON THE ARRAY %@", personObject.personsBillsArray);
[mutableDataArray addObject:personObject];
}
}
默认的名称是personDataArray。
在新版本的应用程序(Swift 3)中,我正在使用这些旧的默认值。我遇到的问题是,当我检查是否存在这些默认值时,我会回头看看。
print(UserDefaults.standard.bool(forKey:"personDataArray"))
以下是我对上述打印语句产生错误的步骤。
- 从应用程序商店下载应用程序测试iPhone的应用程序。
- 输入一些用户数据并保存。
- 通过测试iPhone上的Xcode运行新应用程序。
- 新应用安装并更新旧应用。当我检查personDataArray NSUserDefaults的内部
我缺少的是