2016-01-05 3 views
1

Мое приложение содержит словари со связанными словами в CoreData. Я могу загрузить их в Parse, чтобы поделиться ими, но я изо всех сил пытаюсь вытащить их из Parse снова и обратно в CoreData.Сохранение массивов и извлечение из Parse in swift

Чтобы сохранить все слова, связанные с словника для анализа у меня есть:

parseWordList.setObject("\(wordList?.words?.valueForKey("wordName"))", forKey: "Words") 

, который сохраняет в виде строки, но выглядит как набор в который Parse спутать меня?

enter image description here

Затем, когда я запрашиваю список снова я изо всех сил, чтобы тайному в массив, так что я могу перебрать его и сохранить его обратно в CoreData.

Как преобразовать строку или набор слов в парсы? вернуться к массиву и как мне избавиться от префикса «Необязательный» при сохранении в 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") 
     } 
    } 

enter image description here

+0

вы все еще получаете описание набора, так что он сохраняет в виде строки - просто прекратить использование описания ... – Wain

+0

'Как я могу избавиться от префикса" ТИнструкция «Обучая Свифта. Опционы - это ключевая концепция. Хорошее начало здесь: [Быстрый язык программирования, основы: необязательные] (https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID330) – Moritz

+0

привет снова Wain - вы говорите, что я должен использовать valueForKey вместо этого? – richc

ответ

0

вместо:
пусть joinedWordsArray = Array (arrayLiteral: joinedWords)

попробовать пусть joinedWordsArray = joinWords как! Массив

надеюсь, что это помогает

+0

привет - это дает ошибку «Общий параметр« Элемент »не может быть выведен». – richc

Смежные вопросы