【发布时间】:2016-01-05 10:57:08
【问题描述】:
我的应用程序包含 WordLists 以及 CoreData 中的相关单词。我可以将它们上传到 Parse 以共享它们,但我正在努力将它们再次从 Parse 中取出并返回到 CoreData。
要保存与单词列表关联的所有单词以进行解析,我有:
parseWordList.setObject("\(wordList?.words?.valueForKey("wordName"))", forKey: "Words")
它保存为字符串,但看起来像 Parse 中的一个集合让我感到困惑?
然后,当我再次查询列表时,我正在努力转换为一个数组,以便可以遍历它并将其保存回 CoreData。
如何转换 Parse Words 字符串/集?回到数组,保存到 Parse 时如何去掉“可选”前缀?
提前感谢任何可以帮助我的人...
let query = PFQuery(className: "WordList")
query.findObjectsInBackgroundWithBlock { (objects:[PFObject]?, error:NSError?) -> Void in
if error == nil && objects != nil {
for object in objects! {
let joinedWords = object.objectForKey("Words")
let joinedWordsArray = Array(arrayLiteral: joinedWords)
let wordEntity = NSEntityDescription.entityForName("Word", inManagedObjectContext: self.coreDataStack.managedObjectContext)
for joinedWord in joinedWordsArray {
let word = Word(entity: wordEntity!, insertIntoManagedObjectContext: self.coreDataStack.managedObjectContext)
word.wordName = joinedWord as? String
word.wordList = joinedWordList
}
}
} else {
print("Error")
}
}
【问题讨论】:
-
你仍然得到集合的描述,所以它保存为一个字符串 - 停止使用描述...
-
how do I get rid of the 'Optional' prefix通过学习 Swift。 :) 可选项是一个关键概念。一个好的开始:The Swift Programming Language, The Basics: Optionals -
再见 Wain - 你是说我应该使用 valueForKey 代替吗?
-
嗨 Eric - 我知道为什么需要 Optionals,但我不明白 Parse 如何存储它们。当我想要解析中的对象的值时,我只想将值作为字符串 - 与我输入的相同,而不是它是可选写入并附加到字符串本身的事实......
-
what I don't understand is how Parse stores them这是一个错误的问题:您只需要不保存 Optionals!在保存之前打开你的值,永远不要保存一个可选字符串,首先让它成为一个实际的字符串。这就是我最初评论的意思。
标签: arrays swift core-data parse-platform