1

Androidプログラミングには非常に精通していますが、iOS(およびObjective-C)には非常に新しいものです。

アプリケーション内でリモートphpファイルを呼び出しており、(私は)NSLOGの結果に従ってJSONの結果を正常に解析しています。例:

2013-01-17 14:24:30.611 JSON TESTING 4[1309:1b03] Deserialized JSON Dictionary = {
products =     (
            {
        BF = "";
        EN = "2342";
        Measure = ft;
        Name = "Brian";
        "Name_id" = 1;
        Home = "New York";
        "DB_id" = 1;
    },
            {
        BF = "";
        EN = "2123";
        Measure = ft;
        Name = "Rex";
        "Name_id" = 3;
        Home = "New York";
        "DB_id" = 5;
    }
);
success = 1;

}

私の質問は、この情報をテーブルビューに入力する方法にあります。プロトタイプセルをカスタマイズできますが、そこからどこに行くのですか?

編集:

ビュー設定のコードは次のとおりです。

#pragma mark - Table View

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return productArray.count;
    NSLog(@"Number of arrays %u", productArray.count);
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil) 
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
    }


    NSDictionary *productDictionary = [productArray objectAtIndex:indexPath.row];
    cell.textLabel.text = [productDictionary objectForKey:@"BF"];

    return cell;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self launchTest];
}

と私の.hファイル

@interface tpbaMasterViewController : UITableViewController 
{
    NSDictionary *lists;
    NSArray *productArray;
}

- (void) launchTest;

@property (strong, nonatomic) IBOutlet UITableView *tableView;



@end
4

1 に答える 1

5

NSDictionaryusingobjectForKeyメソッドでオブジェクトにアクセスします。たとえばNSArray、辞書にある製品を取得するには、次のようにします。

NSArray *productArray = [myDictionary objectForKey:@"products"];

これで、2つのディクショナリオブジェクトを持つ配列ができました。さまざまなUITableViewDataSourceメソッドについて、配列をクエリできます。いくつかの例:

の場合– tableView:numberOfRowsInSection:、配列内のオブジェクトの数を返します。

`return productArray.count;`

そしてのためにtableView:cellForRowAtIndexPath:

NSDictionary *productDictionary = [productArray objectAtIndex:indexPath.row];
    myCell.bfLabel.text = [productDictionary objectForKey:@"BF"];
    myCell.enLabel.text = [productDictionary objectForKey:@"EN"];
   //  continue doing the same for the other product information

productArray以下に示すように.mファイルで宣言すると、View Controller内で表示されます(productDictionaryプロパティであると想定します:

@interface MyCollectionViewController () {
    NSArray *productArray;
}
@end
...
@implementation MyCollectionViewController

    -(void)viewDidLoad{
        [super viewDidLoad];

        productArray = [self.myDictionary objectForKey:@"products"];
    }
...
@end
于 2013-01-17T22:39:47.447 に答える