Я заканчиваю курс CS193 в Стэнфорде и использую Core Data для хранения твитов как часть клиента Twitter.
Однако, когда я нахожу существующее хеш-упоминание, я хочу увеличить значение hash.count, представляющее, сколько совпадений у меня есть, но независимо от того, сколько совпадающих хэш-упоминаний есть, hash.count всегда хранит только 0 или 2 (т.е. атрибут не функционирует как постоянное хранилище на объекте).
class HashMention: NSManagedObject {
static func findOrCreateHashMention(matching twitterInfo: Twitter.Mention, in context: NSManagedObjectContext) throws -> HashMention
{
let hash = HashMention (context: context)
let request : NSFetchRequest<HashMention> = HashMention.fetchRequest()
request.predicate = NSPredicate(format: "text =[cd] %@", twitterInfo.keyword)
do {
let matches = try context.fetch(request)
if matches.count > 0 {
//inc count
hash.count = Int32(Int(matches.count) + 1)
return hash
}
else{
hash.count = 0
print("zero hash:", twitterInfo.keyword)
hash.text = twitterInfo.keyword.lowercased()
return hash
}
}
catch{
//makes this function throw
throw error
}
}
}