0
CS193 스탠포드 코스를 완료하고 코어 데이터를 사용하여 Twitter 클라이언트의 일부로 트윗을 저장하고 있습니다.핵심 데이터를 사용하여 엔티티의 수를 늘립니다. (Twitter CS193p)
그러나 이미 존재하는 hashmention을 찾았을 때 내가 갖고있는 일치 개수를 나타내는 hash.count를 증가 시키려고했으나 hash.count가 일치하는 hashment 수와 상관없이 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
}
}
}
어떤 시점에서 상황에 따라 저장 하시겠습니까? – ghostatron
아니요 언제 할 수 있을까요? – stevenpcurtis
전반적인 시나리오에 약간의 차이가 있지만 if/else 블록 바로 뒤에 하나의 옵션이있을 수 있습니다 ("do"절을 떠나기 직전). – ghostatron