初期化済みの情報の保存と復元(ゲートウェイ)
初期化の際に作成した ThingIFAPI
と GatewayAPI
のインスタンスを長期間にわたって保存したい場合、ストレージ(NSUserDefaults)へのシリアライズ機能を利用できます。
ストレージへの保存は SDK によって自動的に行われます。
プロセスの再起動時、読み込みは以下のように行います。
var apiGateway: ThingIFAPI?
var gatewayLocal: GatewayAPI?
var apiEndNode1: ThingIFAPI?
var apiEndNode2: ThingIFAPI?
var apiEndNode3: ThingIFAPI?
do {
// Load API instances.
try apiGateway = ThingIFAPI.loadWithStoredInstance("gateway")
try gatewayLocal = GatewayAPI.loadWithStoredInstance()
try apiEndNode1 = ThingIFAPI.loadWithStoredInstance("endnode1")
try apiEndNode2 = ThingIFAPI.loadWithStoredInstance("endnode2")
try apiEndNode3 = ThingIFAPI.loadWithStoredInstance("endnode3")
} catch ThingIFError.API_NOT_STORED {
// Handle the error.
} catch {
// Handle the error.
}
タグを指定して複数インスタンスを作成していた場合、loadWithStoredInstance
メソッドの引数にタグ名を追加して、指定されたタグの ThingIFAPI
や GatewayAPI
を復元することもできます。タグについては、ThingIFAPI の取得 をご覧ください。
removeStoredInstance
メソッドによって保存されているインスタンスを削除することもできます。これら API の詳細については 詳細ドキュメント を参照してください。
NSUserDefaults へは ThingIFAPI_INSTANCE
または ThingIFAPI_INSTANCE_タグ名
や GatewayAPI_INSTANCE
または GatewayAPI_INSTANCE_タグ名
をキー名として値を保存します。これらのキー名で保存されている情報は上書きされます。