2017-12-01 8 views
0

カスタムViewControllerを初期化しようとしていますが、パラメータを送信しようとしていますが、それを把握できません。カスタムコントローラを初期化するときにinAppSettingsKitでパラメータを送信する(またはキーを取得する)

アイデアスケッチする:(...ランニング、ウォーキング、)

私はスポーツごとに異なる設定を持ちたいとして、カスタムのViewControllerにコアデータのものを保存します。

設定がどのスポーツに属するのかを知るには、ユーザーがその画面に到達するためにタップしたスポーツを知る必要があります。私はパラメータを送信したり、各スポーツのカスタムinitを使用したり、キーを取得したりして、これを行うことを考えていました。そのすべてはわかりません。

私はthis issueに見て、このようにそれを行うことを試みた:(項目4) enter image description here しかし、それは動作しません、私はまた、ファイルを指定する必要があると思うIASKのドキュメントによると、しかし何のファイル?

セレクタには、Settingsバンドル内のファイル名のNSString引数とIASKSpecifierの2つの引数が必要です。

ファイルフィールドを設定しようとしましたが、別の値を試しましたが、成功しませんでした。

コントローラーを初期化したアイテムのキー(たとえばアイテム4の「実行中」)も得られる場合は、ここで真剣に紛失しています。

私は多くの異なったことを試みました。私は心が失われています。私は明らかに何か非常に間違っていますが、それは何か分かりません。

答えて

0

Settings.plistIASKSpecifierというキーを指定する必要はありません。これが動作する方法は、あなたが

SettingsPerSportViewController.mを実装している:

- (id) myinit:(NSString*)file specifier:(IASKSpecifier*)specifier { 
    if ((self = [super init])) { 
     // setup your VC 
     if ([specifier.key isEqualToString:@"tennis"]) { 
      // custom stuff for tennis 
     } 
    } 
    return self; 
} 

しかし、これは、あなた自身にあなたのスポーツのためのコントローラを表示し、そのためにIASKを使用していないビルド設定を意味します。

すべてのスポーツが同じ設定を共有し、IASKを使用して設定ビューコントローラを生成する場合は、custom settings storageを実装し、すべてのスポーツに同じSport.plistを使用できます。カスタム設定のストレージは、コアデータからロードしてコアデータに直接保存することができます。 sportプロパティは、ロードおよび保存操作を正しいコアデータコンテキストまたはテーブルにルーティングします。あなたが設定し、カスタム・ストレージ・サブクラスと選択スポーツに従って設定sportプロパティにsettingsStoreプロパティを設定して、各スポーツのためのIASKAppSettingsViewControllerを押し、単純な静的ビューコントローラを持つことができるルートレベル

関連する問題