2014-11-19 3 views
0

У меня есть общий вопрос о программировании, связанном с Swift. Например, когда я хочу сохранить значение Int в моем приложении, потому что я использую эту переменную по всему приложению. Поэтому у меня есть три варианта:Хранить данные в Swift

//FIRST 
//In my AppDelegate I do this 
var myInt = 3 
//And later I can use this when I do 
let delegate = UIApplication.sharedApplication().delegate as AppDelegate 
delegate.myInt = 5 

//SECOND 
//I can store the value in UserDefaults 
NSUserDefaults.standardUserDefaults().setInteger(myInt, forKey: "myInt") 
NSUserDefaults.standardUserDefaults().synchronize() 
//and later get them by 
var anotherInt = NSUserDefaults.standardUserDefaults().integerForKey("myInt") 

//THIRD 
//I can define a structure as my Data storage 
struct myData { 
    static var myInt = 3 
} 
//and later get the value by 
myData.myInt = 5 

Так что мой вопрос: какой из них я должен использовать? Или вообще не нужно хранить какие-либо глобальные ценности? Хотел бы услышать от вас:]

ответ

1

Вариант 1 будет работать нормально, если вы не хотите, чтобы переменная сохранялась между запусками приложений.

Вариант 2 будет работать нормально, если вы do хотите, чтобы переменная сохранялась между запусками приложений.

Вариант 3 также будет работать, но не является постоянным.

Я бы сказал, что вариант 1 или 2 чаще используется, в зависимости от того, нужна ли вам переменная, которая будет постоянной.

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