Ios 是否可以让用户在swift中更改数组值?
我想在我的iOS应用程序中加载一组“默认”值,但允许用户根据个人喜好更改这些值。例如:Ios 是否可以让用户在swift中更改数组值?,ios,arrays,swift,Ios,Arrays,Swift,我想在我的iOS应用程序中加载一组“默认”值,但允许用户根据个人喜好更改这些值。例如: var arrayOfChoices = ["red","blue","green"] 我可以在一个字段中输入一个值(userEnteredValue)“purple”,然后设置arrayOfChoice[2]=userEnteredValue,结果是 arrayOfChoices = ["red", "blue", "purple"] 我不需要关于如何做到这一点的具体代码,我只是在开发我的应用程序的功能
var arrayOfChoices = ["red","blue","green"]
我可以在一个字段中输入一个值(userEnteredValue)“purple”,然后设置arrayOfChoice[2]=userEnteredValue
,结果是
arrayOfChoices = ["red", "blue", "purple"]
我不需要关于如何做到这一点的具体代码,我只是在开发我的应用程序的功能,但我只是想知道这是否可行,以及新的arrayOfChoices是否会存储在该用户的应用程序代码中,直到再次更改阵列?我尝试设置一些示例,通过存储和检索颜色名称数组的
键来概述如何使用UserDefaults
在本例中,通过shared\u pref\u colors
键名。您可以给这把钥匙取任何您喜欢的名字,只要保持一致:
var colors = ["red", "blue", "green"]
UserDefaults.standard.set(colors, forKey: "shared_pref_colors")
print("Stored initial: \(UserDefaults.standard.array(forKey: "shared_pref_colors"))")
colors[2] = "purple"
UserDefaults.standard.set(colors, forKey: "shared_pref_colors")
print("Retrieved after storing purple: \(UserDefaults.standard.array(forKey: "shared_pref_colors"))")
var colorsRetrieved = UserDefaults.standard.array(forKey: "shared_pref_colors") as! [String]
print("Retrieved before manipulation: \(colorsRetrieved)")
colorsRetrieved[0] = "yellow"
UserDefaults.standard.set(colorsRetrieved, forKey: "shared_pref_colors")
print("Retrieved after storing yellow \(UserDefaults.standard.array(forKey: "shared_pref_colors"))")
将打印出以下内容:
只需将其从“let”更改为“var”。一种方法是在应用程序第一次运行时将默认值([“红色”、“蓝色”、“绿色”)保存为UserDefaults
。之后,在启动时从UserDefaults
加载arrayOfChoices
。当用户指示一组不同的选项时,更新UserDefaults
和reload.IOW,您不能在运行时更改应用程序的代码,但可以为其提供新数据。
Stored initial: Optional([red, blue, green])
Retrieved after storing purple: Optional([red, blue, purple])
Retrieved before manipulation: ["red", "blue", "purple"]
Retrieved after storing yellow Optional([yellow, blue, purple])