quattro_4 scribble

scribble 落書き (調べた事をただ落書きする)

MotionInMotion Episode 6 - NSCoder, NSCoding, and NSUserDefaults

NSCoder, NSCoding, and NSUserDefaults - MotionInMotion

NSCoder, NSUserDefaultsを使った実装

  • コアダータ
  • NSCoding Protocol
    • def initWithCoder(decoder)
      • self.title = decoder.decodeObjectForKey('title')
      • self.completed = decoder.decodeBoolForKey('completed')
      • self
    • def encodeWithCoder(encoder)
      • encoder.encodeObject(self.title, forKey:'title')
      • encoder.encodeBool(self.completed, forKey:'completed')
  • def storageFile
    • NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true)[0] + '/todos'
    • load
      • self.todos = NSKeyedUnarchiver.unarchiveObjectWithFile(self.storageFile) ||
    • save
      • NSKeyedArchiver.archiveRootObject(self.todos, toFile:self.storageFile)
  • NSUserDefaults
    • load
      • data = NSUserDefaults.standardUserDefaults.objectForKey('todos')
      • self.todos = NSKeyedUnarchiver.unarchiveObjectWithData(data) ||
    • save
      • data = NSKeyedArchiver.archivedDataWithRootObject(self.todos)
      • NSUserDefaults.standardUserDefaults.setObject(data, forKey:'todos')
      • NSUserDefaults.standardUserDefaults.synchronize