0

У меня есть проект iOS. Я работаю над использованием Xcode 7.3.1 и Swift2. В моем проекте 30 кодированных UITextFields, каждый с назначенным action для него. Я также использую UITextFieldDelegate. После ввода текста пользователю я хочу, чтобы текст был сохранен. Я искал здесь ответы на лучшее место для размещения кода сохранения. Я не хочу, чтобы этот проект облагался налогом на память устройства. Это лучше, чтобы сохранить текст с помощью NSObject и NSCoding, что-то вроде:Каков наилучший вариант для сохранения большого количества закодированного текста UITextField: NSCoding или NSUserDefaults?

class TextFieldSave: NSObject, NSCoding { 

    var userText: String = "" 
    var textFieldName: String = "" 

    ... 
} 

я мог бы сохранить имя из textField, что текст был сохранен и сохранить с помощью NSCoding.

ИЛИ было бы меньше памяти, чтобы просто сохранить с помощью NSUserDefaults?

Я могу поместить сохраненный код в действие каждого textField или каким-либо образом включить все 30 из них в разделе textFieldDidEndEditing раздела delegate. Не уверен, что лучше. Я думаю, что NSUserDefaults является самым простым, но не необходимым, лучшим для использования памяти.

Благодарим вас за советы и помощь.

ответ

0

Я закончил с сохранением через NSUserDefaults и код сохранения в каждом UITextFieldaction Я создал код.

// Declaration of Variable 
var nameDefaults: NSUserDefaults = NSUserDefaults.standardUserDefaults() 

В каждом action:

nameDefaults.setObject(variable, forKey: "KEYname") 
nameDefaults.synchronize() 

Чтобы загрузить эти сохраненные значения, я создал function и запустить эту функцию в ViewWillAppear. Хорошо работает и, похоже, слишком сильно не использует системную память.

override func viewWillAppear(animated: Bool) { 
    loadData() 
} 

И loadData является:

if (nameDefaults.objectForKey("KEYname") != nil) { 
    variable = (nameDefaults.objectForKey("KEYname") as! String) 
    textField.text = variable 
    print(variable) 
} else { 
    print("nil") 
} 

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

  • Нет связанных вопросов^_^