【发布时间】:2016-05-03 16:15:46
【问题描述】:
我有一个表格视图,它使用核心数据显示字符串类型的对象列表,用户可以在其中不断向同一个表格添加新对象。但是,有一个限制,即不允许添加重复项。我设法避免了相同的重复,例如:“Bank”/“Bank”。问题是我还需要阻止这样的重复项:“Bank”/“bAnk”或“Bank”/“BAnk”等等,但我不知道该怎么做。
这是我的代码:
func checkDuplicates(catName: String) -> Bool {
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
var contents = [NSManagedObject]()
var items = [String]()
let fetchRequest = NSFetchRequest(entityName: "Categories")
do {
let results = try managedContext.executeFetchRequest(fetchRequest)
contents = results as! [Items]
for item in contents {
items.append(item.valueForKey("name") as! String)
}
} catch {
print("error")
}
if items.contains(catName) {
return true
}
return false
}
它返回一个布尔值,因此当它返回一个重复项时,我会显示一个警报,告诉用户他可以添加一个重复项。
那么任何人都可以帮助我解决这个问题吗?
【问题讨论】:
标签: arrays swift core-data duplicates nsfetchrequest