0

私の質問は、セルがタップされたときにテキストデータを取得して、php から ViewController で読み取ることは可能ですか?

これを行うための鍵だdidSelectRowAtIndexPathと思いますが、書き方がわかりません。

以下のように、php から my にデータを取得できTableViewControllerます。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return [json count];

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

    NSDictionary *info = [json objectAtIndex:indexPath.row];
    cell.textLabel.text = [info objectForKey:@"Artist"];
    cell.detailTextLabel.text = [info objectForKey:@"Song"];


    return  cell;
}
4

3 に答える 3

0

このコードメソッドを使用します。

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{ 
  //retrive your data here.
}
于 2012-05-03T11:17:29.773 に答える
0

あなたのコードは間違っていると思います。チェックしてjsonにデータがあるかどうかを確認します

NSLog(@"%@ and %@",[info objectForKey:@"Artist"],  [info objectForKey:@"Song"]);

そして結果が出たら教えてください。そうでない場合は、php に何らかの間違いがあります。それ以外の場合は、データがそこに表示されるはずです。

于 2012-05-02T13:32:49.420 に答える
0

あなたが書いたコードは、最初に説明したことと矛盾しています。ただし、これは次のように行う必要があります。

まず、表示したいデータを取得する必要があります。これは、外部の Web サイト (php と呼びます)、plist、xml、または必要なものから取得できます。これは、テーブルビューを開始したとき (たとえばASIHTTPRequestを使用)、またはテーブルビューを開始してカスタムの init メソッドを使用して送信する前に行うことができます。次に、受け取った内容を読む必要があります。通常、取得するのは NSArray 形式です。これは、データをフェッチするデータ ソースの実装によって異なります。

Objective-C と cocoa-touch を初めて使用する場合は、UITableView に関するいくつかの簡単なチュートリアルから始めてください。私は自分で書いたことがありますが、現在は(非常に)時代遅れだと思います。あなたはまだそれを見ることができます:http://paulpeelen.com/2009/08/14/developing-with-iphone-3-0-x-simple-uitableview/

于 2012-05-02T13:35:09.057 に答える