【问题标题】:Saving Arrays to and retrieving from Parse in swift快速将数组保存到 Parse 并从 Parse 中检索
【发布时间】: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


【解决方案1】:

而不是:
让joinedWordsArray = Array(arrayLiteral:joinedWords)

试试 让joinedWordsArray =joinedWords 为!数组

希望对你有帮助

【讨论】:

  • 嗨 - 给出错误“无法推断通用参数'元素'”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多