2015-05-12 2 views
0

Я пытаюсь получить доступ к тому же [String] в двух ViewControllers. Первый - это установка массива, а второй ViewController хочет получить массив.Singleton Swift Shared [String]

Это одноэлементный класс.

class SavedPostsBox{ 
var postNames: [String] = [] 

class var sharedInstance : SavedPostsBox { 
    struct Static { 
     static let instance : SavedPostsBox = SavedPostsBox() 
    } 
    return Static.instance 
} 
} 

В первом ViewController Я, сделать это:

SavedPostsBox().postNames = savedPostName 

А во втором я делаю это:

savedPostName = SavedPostsBox().postNames 

Проблема заключается в том, что когда я проверяю размеры в разные классов он всегда равен 0 во втором, но не в первом. Я пробовал много разных методов и искал везде, но эти решения, похоже, работают для многих других людей, но не для меня.

+0

* Подсказка: * Параметр 'свойство sharedInstance' не определен, но нигде используется в коде ... –

+0

Спасибо, но до сих пор не работает –

ответ

2

Вы должны получить свой sharedInstance.

SavedPostsBox.sharedInstance.postNames = savedPostName 

Ans использовать его везде, вместо экземпляров SavedPostsBox

+0

благодарственное вы! Теперь, когда вы указали это, кажется настолько очевидным –