从字典数组中删除
Removing from array of dictionary
我使用 UserDefualt 保存字典数组:
let pref = NSUserDefaults.standardUserDefaults();
var fav=pref.arrayForKey("favRecipes")!;
fav.append(self.dict);
pref.setObject(fav, forKey: "favRecipes");
在我保存另一个数据之前,我检查它是否已经存在:
@IBAction func addToFavorites(sender: UIButton) {
//not exist
if !isFavorite(){
var fav=pref.arrayForKey("favRecipes")!;
fav.append(self.dict);
pref.setObject(fav, forKey: "favRecipes");
print("added");
} //exist
else{
;
}
}
private func isFavorite()->Bool{
var fav=pref.arrayForKey("favRecipes")!;
for r in fav{
if r["id"]! as! Int==id{
return true;
}
}
return false;
}
此代码的目的是将某些内容添加到您的收藏夹列表中,如果它已经存在,您可以选择将其删除。
由于某种原因,我没有成功完成最后一部分。
这是我目前的尝试:
func remove(event:UIAlertAction!){
var fav=pref.arrayForKey("favRecipes")!;
for r in fav{
if r["id"]! as! Int==id{
pref.removeObjectForKey("\(id)");
//pref.synchronize();
//fav=pref.arrayForKey("favRecipes")!;
//print(r["id"] as! Int);
}
}
}
当然,我尝试在 userDefualt 上查看和搜索有关从字典中删除的信息,但没有任何帮助。
您必须更改数组 fav
并将该数组写回 userDefaults。默认情况下没有键 \(id)
的对象,只有一个键 favRecipes
的数组,该数组又包含键 id
.
的条目
func remove(event:UIAlertAction!){
var fav = pref.arrayForKey("favRecipes")!
fav = fav.filter { [=10=]["id"] != id }
pref.setObject(fav, forKey: "favRecipes")
}
我使用 UserDefualt 保存字典数组:
let pref = NSUserDefaults.standardUserDefaults();
var fav=pref.arrayForKey("favRecipes")!;
fav.append(self.dict);
pref.setObject(fav, forKey: "favRecipes");
在我保存另一个数据之前,我检查它是否已经存在:
@IBAction func addToFavorites(sender: UIButton) {
//not exist
if !isFavorite(){
var fav=pref.arrayForKey("favRecipes")!;
fav.append(self.dict);
pref.setObject(fav, forKey: "favRecipes");
print("added");
} //exist
else{
;
}
}
private func isFavorite()->Bool{
var fav=pref.arrayForKey("favRecipes")!;
for r in fav{
if r["id"]! as! Int==id{
return true;
}
}
return false;
}
此代码的目的是将某些内容添加到您的收藏夹列表中,如果它已经存在,您可以选择将其删除。 由于某种原因,我没有成功完成最后一部分。
这是我目前的尝试:
func remove(event:UIAlertAction!){
var fav=pref.arrayForKey("favRecipes")!;
for r in fav{
if r["id"]! as! Int==id{
pref.removeObjectForKey("\(id)");
//pref.synchronize();
//fav=pref.arrayForKey("favRecipes")!;
//print(r["id"] as! Int);
}
}
}
当然,我尝试在 userDefualt 上查看和搜索有关从字典中删除的信息,但没有任何帮助。
您必须更改数组 fav
并将该数组写回 userDefaults。默认情况下没有键 \(id)
的对象,只有一个键 favRecipes
的数组,该数组又包含键 id
.
func remove(event:UIAlertAction!){
var fav = pref.arrayForKey("favRecipes")!
fav = fav.filter { [=10=]["id"] != id }
pref.setObject(fav, forKey: "favRecipes")
}