Этот пример включает в себя контекст TODO приложения, у меня есть следующий код, чтобы добавить TODO к списку:Поиск строки в словаре в массиве быстрой
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)
Как бы искать в словаре/массив, чтобы искать несколько itemTitle
, чтобы, если пользователь дважды создает заголовок, он отправит им сообщение об ошибке, сообщающее им, что они создали заголовок дважды, и его необходимо изменить, прежде чем добавить новое todo?
два предложения: Todo легко представлены графиком базы данных, и поэтому CoreData - это намного лучшее/более простое решение. Замените все '!' В вашем коде соответствующими сокращениями или необязательными привязками. –
Спасибо, я понимаю, что использование CoreData проще, но я все равно хотел бы знать ответ, не используя CoreData, спасибо – user2976917
Обновите свой код в вопросе, чтобы у него не было более проблемных силовых переводов/понижений. В остальном мало смысла. –