-2

私はObjectiveCでのプログラミングに非常に慣れていません(数日で)。残念ながら、iPhoneアプリは数日でクラスのプロジェクトとして予定されています(振り返ってみると、おそらく別のものを選択する必要がありました)。私のアプリに必要な主な機能の1つは、最初に1つのページで食事を選択し、次に次のページでカテゴリを選択し、最後のページで料理を選択することで、メニューから料理を選択する機能です。アプリでインターネットAPIからJSONファイルをダウンロードし、NSArray変数として保存しましたが、その配列を使用してテーブルビューにデータを入力する必要があります。以下は、アプリのデバッグウィンドウからダウンロードした配列のサンプルです。私はすでにアプリの基本的なフレームワーク(つまり、いくつかの異なるビュー)を用意しています。これは、テーブルビューの行にplistファイルのデータを入力するサンプルアプリからのものですが、このJSONデータを使用したいと思います。この配列を使用して、このNSArray変数に格納されているJSONデータを行に入力するにはどうすればよいですか?ありがとう!

2012-12-05 03:29:48.973 MLBMobile[3858:c07] {
    category = "BREAKFAST MEATS";
    date = "2012-12-05";
    meal = BREAKFAST;
    name = "Low-Sodium Ham";
    portion = 1;
    recipe = 319044;
    unit = oz;
}
2012-12-05 03:29:48.975 MLBMobile[3858:c07] {
    category = "BREAKFAST MEATS";
    date = "2012-12-05";
    meal = BREAKFAST;
    name = "Roasted Low-Sodium Turkey";
    portion = 4;
    recipe = 113503;
    unit = oz;
}
2012-12-05 03:29:48.976 MLBMobile[3858:c07] {
    category = "BREAKFAST ENTREES";
    date = "2012-12-05";
    meal = BREAKFAST;
    name = "Cheddar Cheese";
    portion = 1;
    recipe = 130029;
    unit = oz;
}
2012-12-05 03:29:48.976 MLBMobile[3858:c07] {
    category = "BREAKFAST ENTREES";
    date = "2012-12-05";
    meal = BREAKFAST;
    name = "Hard Cooked Eggs - Cage Free";
    portion = 1;
    recipe = 061009;
    unit = each;
}
4

1 に答える 1

0

配列変数を使用すると、各要素を反復処理できます。高速列挙を使用します。

for(NSDictionary *dict in yourArrayVariable){
    NSString *category = [dict objectForKey:@"name"];
    //...you get the point
}

これで、行のプロパティを設定するだけで行にデータを入力できます。たとえば、デフォルトのUITableViewCellを使用している場合:

cell.textLabel.text = name;

これには、データ/モデル/ビューの分離を改善するためにできることがもう少しありますが、すべてが1つのファイルにローカルで行われたかのように例を含めました。

于 2012-12-05T09:15:54.873 に答える