タプルを使用してこのようなものを保存しています。NSUserDefaultsにタプルを保存する
var accessLavels: (hasInventoryAccess: Bool, hasPayrolAccess: Bool)
accessLavels = (hasInventoryAccess: true, hasPayrolAccess: false)
ここではNSUserDefaults
に保存します。
NSUserDefaults.standardUserDefaults().setValue(accessLavels, forKey: "AccessLevelKey")
NSUserDefaults.standardUserDefaults().synchronize()
ただし、次のエラーが発生します。
タイプ '(hasInventoryAccess:ブール値、hasPayrolAccess:ブール値)' プロトコルに準拠していない 'ANYOBJECT'
どのように私はこの問題を解決することができますか?その不可能な場合は、タプルを保存するための他の提案は歓迎です。
ありがとうございます。
どのようになるか、(私は完全にスウィフトやプログラミングにかなり新しいです)何かを得ることはありません'NSUserDefaults'で' synchronize'を呼び出すことはほとんど決して必要なことではなく、 "ちょうどいい"ということをAppleが推奨していません。 –
NSUserDefaultsは、NSData、NSString、NSNumber、NSDate、NSArray、またはNSDictionaryのプロパティリストタイプのみをサポートしています。他のタイプのオブジェクトを保存する場合は、アーカイブしてNSDataのインスタンスを作成できます。 – Bobby