2016-10-15 6 views
0

私のアプリに空のtableViewが表示されないように、いくつかのデフォルトデータが必要です。 データはcoreDataにある必要があり、フェッチされてtableViewに配置されます。CoreData(Swift)でエンティティのデフォルトデータを作成する

現在のところ、ユーザーはデータを追加して削除して編集することができますが、最初にアプリケーションを開いたときにはデータが表示されず、見栄えが悪くユーザーを混乱させる可能性があります。

デフォルトのデータは、残りのデータと同様に削除可能で編集可能である必要があります。したがって、配列に格納されている文字列のように「偽データ」にすることはできません。

スウィフトを使用していくつかのデフォルトデータを追加するにはどうすればよいですか?

+0

コアデータをプログラマチックに埋めたい場合は、コアデータにデフォルトエントリを設定することはできません。 –

+0

または静的情報を格納するplistと一緒に行くかもしれません。 –

+0

.plistファイルにデータを保存する最適なソリューション –

答えて

0

cellforRowatindexpathメソッドは、テーブルのセルを定義します。いくつかのデフォルトセルが必要な場合は、そこに定義することができます。 falseデータでカスタムセルを作成するか、tableViewクラスの配列や辞書をfalseデータで定義し、それをテーブルのデリゲートメソッドとデータソースメソッドに渡します(numberOfRows/numberOfSectionsにも入力が必要です)。基本例:

CustomUIViewController : UIViewController { 
    let defaults : [String] = ["Some", "Data"] 
    self.tableView.dataSource = self 
    self.tableView.delegate = self 

    func cellForRowAtIndexPath() -> UITableViewCell { 
     var cell = UITableViewCell() 
     if (// check for non-nil data here) { 
      // configure cell based on loaded data 
     } else { 
      cell.textLabel?.text = defaults[indexPath.row] 
     } 

     return cell 
    } 

ご質問がありましたらお知らせください。あなたの質問はあいまいなので、私の答えは似ていました。

+0

あいまいな回答のお詫び、私はそれを更新しました。 – Marcel

+0

最終的には、あなたの質問はhow-toの問い合わせ(あなたはいつもUITableViewDelegateとUITableViewDataSourceメソッドに直接情報を与えることができます)やベストプラクティスの問い合わせのほうが少ないかもしれません。ハードコードされたデフォルトは、通常、VCや定数ファイルなどに格納されます。単に偽のデータをCoreDataにダンプしないでください。単純にDBをチェックしてから、ハードコードされたエントリを使用してください。 – dylanthelion

関連する問題