试图通过 UserDefault 存储一个数组,但 Xcode 给了我一个错误。错误消息是线程 1:信号 SIGABRT,控制台显示“NSInvalidArgumentException,原因:尝试插入非属性列表对象”。我以前使用以下代码将数据存储在数组中:
let tempRecipe = GlobalFavorites(recipeImageObject: "", recipeTextObject: "", recipeHeaderObject: "", favoriteRecipeArray: [globalFavoriteRecipes])
tempRecipe.recipeHeaderObject = self.recipeClassArray[self.currentView].recipeHeaderObject
tempRecipe.recipeTextObject = self.recipeClassArray[self.currentView].recipeTextObject
tempRecipe.recipeImageObject = self.recipeClassArray[self.currentView].recipeImageObject
globalFavoriteRecipes.favoriteRecipeArray.append(tempRecipe)
这很好用。这是使用 UserDefault 存储的代码,它给了我错误:
UserDefaults.standard.setValue(globalFavoriteRecipes.favoriteRecipeArray, forKey: "savedFavoriteArray")
这是一个全局数组,我想存储整个数组。我想这与我在 UserDefault 中编写数组的方式有关,因为对我来说,我似乎正在尝试存储不存在的东西。或者我错过了什么?