2015-07-31 2 views
1

Я делаю приложение для цитаты, и было бы неплохой функциональностью, чтобы позволить пользователям «любимые» кавычки и иметь возможность передавать эти данные для отображения в другом массиве, предыдущем возможном решение этого вопроса без NSUserDefaults будет что-то вродеРабота с NSUserdefault и массивами swift

var favouriteQuotesArray: [String] = [] 

    func makeQuoteFavourite() { 

     let currentQuote = dreamFact.dreamArray[factIndex] 
     favouriteQuotesArray.append(currentQuote) 
    } 

, но это не сработало, и впустую меня довольно долгое время. Но вы видите , что я пытаюсь получить, чтобы иметь возможность вывести некоторую строку, расположенную по некоторому индексу в моем массиве (в данном случае массив мечтов), а затем добавить это в другой глобальный массив для отображения в другом viewController. Сейчас я думаю о NSUserDefaults и хранить это в массив, когда кнопка нажата, как:

@IBAction func favour() { 

//some NSUserdefaults statement to save this to a global array which I would be able to call in a view controller. 
} 

Как бы я сделать что-то вроде этого? Есть ли альтернативы? P.S. Последняя вещь для моего проекта, пожалуйста, дайте любые полезные и подробные советы, которые вы можете!

ответ

1

Вот код

var favouriteQuotesArray: [String]? = NSUserDefaults.standardUserDefaults().objectForKey("thekey") as? [String] 

        func makeQuoteFavourite() { 
         if favouriteQuotesArray == nil { 
         favouriteQuotesArray = [] 
} 
         let currentQuote = dreamFact.dreamArray[factIndex] 
         favouriteQuotesArray!.append(currentQuote) 
         NSUserDefaults.standardUserDefaults().setObject(favouriteQuotesArray!, forKey: "thekey") 
        } 

      @IBAction func favour() { 
       makeQuoteFavourite() 
      } 

Затем, вы можете получить доступ к нему в любом месте, как это.

NSUserDefaults.standardUserDefaults().objectForKey("thekey")

+0

Хорошо человек, мой один час до все они основаны на легитимности вы отвечаете. Убедитесь, что это правильно. – NewBeginnings

+0

Вы могли заставить его работать? –

+0

Вы скоро узнаете, что обновляете. – NewBeginnings

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