0

を使用して作成UITableViewされたラベルを使用してを作成するために使用しますNSArrayこちらのチュートリアルに従いました。UITableView現在、サーバーから抽出した動的コンテンツを使用して作成しようとしています。データのプルは、私がそのように割り当てたJSONでうまく機能します。

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSString *responseString1 = [[NSString alloc] initWithData:responseData1 encoding:NSUTF8StringEncoding];

    NSLog(@"%@",responseString1);

    SBJsonParser *parser = [[SBJsonParser alloc] init];
    id sample = [parser objectWithString:responseString1];

    tempholder=[NSMutableArray arrayWithCapacity:[sample count]];

    for (int i = 0; i < [sample count]; i++) {
        [tempholder addObject:[[sample objectAtIndex:i]objectAtIndex:0]];
        //NSLog(@"%@",[sample objectAtIndex:i]);
        NSLog(@"%@",[tempholder objectAtIndex:i]);
    }
}

では、どうすれば交換できますか

tableData = [NSArray arrayWithObjects:@"Item", @"Item",
            @"Item", @"Item", @"Item", @"Item", @"Item",
            @"Item", @"Item", nil];

これは私の中にあります

- (void)viewDidLoad

'tempholder'でNSMutableArray

よろしくお願いします...

4

4 に答える 4

1

JSONの解析が完了したら、次を追加します。

self.tableData = [NSArray arrayWithArray:tempholder];

それからあなたはprobalbyがあなたのテーブルをリロードしたいと思うでしょう。

于 2013-03-25T15:41:08.573 に答える
1

NSArrayを使用した場所ならどこでも、NSMutableArrayをほぼ使用できます。tableData参照をtempholderに置き換えます(またはtempholderの名前をより意味のあるものに変更します)。逆に、本当に必要な場合は、tableDataを一時ホルダーに設定することもできます。

于 2013-03-25T15:42:00.263 に答える
1

tempHolder配列をtableDataとして設定し、connectionDidFinishLoading:メソッドの最後にテーブルビューを再読み込みします。

tableData = tempholder;
[self.tableView reloadData];
于 2013-03-25T15:42:02.963 に答える
1

あなたのコードでは、viewDidLoadメソッドでNSArrayを初期化します

tableData = [NSArray arrayWithObjects:@"Item", @"Item", @"Item", @"Item", @"Item", @"Item", @"Item", @"Item", @"Item", nil];

NSArrayの代わりにNSMutableArrayを使用してください。

次に、サーバーからデータを受信したら、次のようにします

[tableData removeAllObjects];
tableData = tempholder
于 2013-03-25T15:44:11.730 に答える