Skip to content

Instantly share code, notes, and snippets.

@myssun0325
Created July 16, 2018 11:42
Show Gist options
  • Save myssun0325/dc6bf82bbcd808ee8fcd3f94aaf16f9d to your computer and use it in GitHub Desktop.
Save myssun0325/dc6bf82bbcd808ee8fcd3f94aaf16f9d to your computer and use it in GitHub Desktop.
코드리뷰 중 NSSecureCoding 일부
class Beverage: NSObject, NSSecureCoding {
private let name: String
private let price: Int
// MARK: NSSecureCoding
private struct NSCoderKeys {
static let nameKey = "name"
static let priceKey = "price"
}
static var supportsSecureCoding: Bool {
return true
}
func encode(with aCoder: NSCoder) {
aCoder.encode(name as NSString, forKey: NSCoderKeys.nameKey)
aCoder.encode(NSNumber(value: price), forKey: NSCoderKeys.priceKey)
}
required init?(coder aDecoder: NSCoder) {
guard let name = aDecoder.decodeObject(of: NSString.self, forKey: NSCoderKeys.nameKey) else {
return nil
}
guard let price = aDecoder.decodeObject(of: NSNumber.self, forKey: NSCoderKeys.priceKey) else {
return nil
}
self.name = name as String
self.price = price.intValue
}
}
@myssun0325
Copy link
Author

나머지 부분에 대해선 코드 생략

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment