0
这个例子在字典中搜索字符串包含一个待办事项应用方面,我有以下的代码,以待完成添加到列表:阵列中的迅速
let userDefaults:NSUserDefaults = NSUserDefaults.standardUserDefaults()
var itemList:NSMutableArray = userDefaults.objectForKey("itemList") as NSMutableArray
let dataSet:NSMutableDictionary = NSMutableDictionary()
dataSet.setObject(titleTextField.text, forKey: "itemTitle")
dataSet.setObject(notesTextField.text, forKey: "itemNotes")
if ((itemList) != nil) {
let newList:NSMutableArray = NSMutableArray(
for dict:AnyObject in itemList{
newList.addObject(dict as! NSDictionary)
}
userDefaults.removeObjectForKey("itemList")
newList.addObject(dataSet)
userDefaults.setObject(newList, forKey: "itemList")
}
else{
userDefaults.removeObjectForKey("itemList")
itemList = NSMutableArray(
itemList.addObject(dataSet)
userDefaults.setObject(itemList, forKey: "itemList")
}
userDefaults.synchronize()
self.navigationController.popToRootViewControllerAnimated(true)
我怎么会在字典中查找/ array查找多个itemTitle
,这样如果用户创建标题两次,它会向它们发送一条错误消息,通知它们他们创建了标题两次,并且在添加新的待办事项之前必须更改它?
两条建议:Todo's很容易用数据库图表示,因此CoreData是一个更好/更简单的解决方案。将代码中的所有'!'替换为适当的向下转换或可选的绑定。 –
谢谢,我明白,使用CoreData更容易,但我仍然想知道答案,而不必使用CoreData,谢谢 – user2976917
更新问题中的代码,使其没有更多问题的解压缩/ downcasts。除此之外没有什么意义。 –