2012-05-02 2 views
0

제 질문은 텍스트 데이터를 가져 와서 셀이 도청 될 때 PHP의 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

예 이전 방법으로 배열을 원하거나 새로운보기 컨트롤러를 호출하고 거기에 전달하려면 해당 방법으로 검색 방법을 사용하고 데이터보기 코드를 다시 작성하고 tableview를 다시로드 할 수 있습니다. – vishiphone

답변

0

코드가 잘못 생각합니다. json에 데이터가 있는지 확인하십시오.

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

어떤 결과가 나오는지 알려주세요. 그렇지 않으면 귀하의 데이터가 거기에 표시되어야합니다 귀하의 PHP에 몇 가지 실수가있다.

0

작성한 코드는 처음에 설명한 내용과 모순됩니다. 그러나 이것은 다음과 같습니다. 해야합니다.

먼저 표시 할 데이터를 가져와야합니다. 외부 웹 사이트 (php, 호출 할 때), plist, xml 또는 원하는 것을 통해 얻을 수 있습니다. 테이블 뷰를 초기화 (예 : ASIHTTPRequest 사용) 할 때 또는 사용자가 직접 tableview를 시작하고 사용자 정의 init 메소드를 사용하여 보내기 전에이 작업을 수행 할 수 있습니다. 두 번째로,받은 내용을 읽어야합니다. 일반적으로 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. 
} 
관련 문제