2012-05-02 8 views
0

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

私はdidSelectRowAtIndexPathがこれを行う鍵だと推測していますが、私はどのように書くべきかわかりません。

私は以下のようにPHPから私の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; 
} 
+0

はいメソッドを選択して、そのメソッドでRetriveデータコードを書き込むことができます。配列前に必要な場合はテーブルビューをリロードするか、新しいView Controllerを呼び出してそこに渡します。 – vishiphone

答えて

0

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

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

結果が出てきたら教えてください。そうでない場合は、あなたのデータにそこに表示されるべきであるあなたのPHPにいくつか間違いがあります。

0

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

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

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

0

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

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    //retrive your data here. 
} 
関連する問題