2015-09-04 1 views
0

Im делает приложение для похудения, которое экономит ваше количество веса каждый день. Мне нужно знать, как сохранить вес для текущей даты, а затем сделать текстовое поле пустым на следующий день. Я сохранил текстовое поле, используя NSUserDefault. Я пытаюсь сделать то, что у других фитнес-приложений есть там, где вы можете посмотреть предыдущие дни и посмотреть сохраненные данные. Может кто-то указать мне в правильном направлении. Благодаря!Как мне сохранить текстовое поле для определенной даты?

override func didMoveToView(view: SKView) { 

    let stringKey = NSUserDefaults.standardUserDefaults() 
    textFieldWeight.text = stringKey.stringForKey("saveWeight") 

    addTextFieldForWeight() 


    } 

    func addTextFieldForWeight() { 

    textFieldWeight.borderStyle = UITextBorderStyle.Line 
    textFieldWeight.textColor = UIColor.whiteColor() 
    textFieldWeight.autocorrectionType = UITextAutocorrectionType.Yes 
    textFieldWeight.keyboardType = UIKeyboardType.NumberPad 
    textFieldWeight.delegate = self 
    textFieldWeight.backgroundColor = UIColor.clearColor() 
    textFieldWeight.returnKeyType = UIReturnKeyType.Done 
    textFieldWeight.contentVerticalAlignment = UIControlContentVerticalAlignment.Center 
    self.view?.addSubview(textFieldWeight) 
    } 



    override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) { 





     if node.name == "next" { 

     let nextDay = NSCalendar.currentCalendar().dateByAddingUnit(NSCalendarUnit.CalendarUnitDay,value: 1,toDate: 
      NSDate(),options: nil) 
     let formatter = NSDateFormatter() 
     formatter.dateStyle = NSDateFormatterStyle.FullStyle 



     let dateString = formatter.stringFromDate(nextDay!) 
     dateLabel.text = String(dateString) 

    } 







    if node.name == "before" { 

     let earlyDate = NSCalendar.currentCalendar().dateByAddingUnit(NSCalendarUnit.CalendarUnitDay,value: -1,toDate: 
      NSDate(),options: NSCalendarOptions.WrapComponents) 
     let formatter = NSDateFormatter() 
     formatter.dateStyle = NSDateFormatterStyle.FullStyle 



     let dateString = formatter.stringFromDate(earlyDate!) 
     dateLabel.text = String(dateString) 

     } 
      } 
+1

Вам нужно сохранить историю каждого дня? я имею в виду вес каждого дня. –

+0

Да, я могу изменить его на калории вместо веса, но я хочу сэкономить каждый день. – coding22

+1

Для этого вы должны использовать [sqlite] (http://www.appcoda.com/sqlite-database-ios-app-tutorial/) или [основные данные] (https://developer.apple.com/library/ios /documentation/Cocoa/Conceptual/CoreData/cdProgrammingGuide.html) –

ответ

1

Возможно, вам захочется взглянуть на структуру основных данных или создать класс для объектов данных, которые вы можете архивировать. Это объясняется в маленькой коробке, подобной этой, но смотрите основные данные, а также создавайте и извлекайте архивы в справочной документации Apple.

Если вам требуется более простое решение, попробуйте использовать только NSMutableArray, где каждый элемент в массиве может быть настраиваемым объектом, который содержит объект NSDate и NSNumber для веса. Затем вы можете сохранить этот массив в NSUserDefaults. Однако ваш пользовательский объект должен быть архивируемым.

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