我的问题是非常基本的,因为我马上就要学得很快了。
我写了这个函数
func checkIfChatExistsLocal(username:String) -> Bool {
var result = [Chats]()
let fetchRequest = NSFetchRequest(entityName: "Chats")
fetchRequest.fetchLimit = 1
let userPredicate = NSPredicate(format: "username = '\(username)'")
fetchRequest.predicate = userPredicate
result = try! self.context.executeFetchRequest(fetchRequest) as! [Chats]
if result == nil {
print("nil")
return false
} else {
let rresult = result[0].username
return true
}
print("Result \(rresult)")
}if部分是错误的,我基本上知道原因(因为result是[Chats]类型的),这就是我理解问题的地方:
如何处理result
使用result = .... as! [Chats],我将result声明为数组(?)类型为Chats,它是类(?) -那么是一个类数组?
顺便说一句,Chats.swift是:
@objc(Chats)
class Chats: NSManagedObject {
// Insert code here to add functionality to your managed object subclass
}使用
extension Chats {
@NSManaged var username: String?
}因此,首先(帮助我)如何修复我的代码以使其运行?
第二,我应该巩固“学习快速”的哪一部分来处理result = .... as! [Chats]?
发布于 2015-08-17 11:19:23
根据您声明的要求,您不应该使用executeFetchRequest,而应该使用countForFetchRequest。现在您根本不需要担心一系列的项目,只需检查数字并使用它来决定返回什么:
return (count > 0)https://stackoverflow.com/questions/32047202
复制相似问题