我有幾年前在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的內部
我缺少的是