2012-05-02 3 views
0

Вопрос в том, можно ли получить текстовые данные и прочитать их в моем ViewController из php, когда ячейка нажата?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

Да, возможно, использование метода выбора и запись вашего кода данных о возврате в этот метод и перезагрузка вашего табличного представления, если вы хотите использовать только до массива или вызвать новый контроллер представления и передать его там. – vishiphone

ответ

0

Ваш код я думаю неправильно. Проверьте, есть ли какие-либо данные в json, проверив

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

и сообщите, если какой-либо результат будет выполнен. если нет, то в вашем php есть некоторая ошибка, которую должны показать ваши данные.

0

Код, который вы написали, противоречит тому, что вы объяснили в начале. Тем не менее, так должно быть :

Прежде всего вам нужно будет получить данные, которые вы хотите отобразить. Вы можете получить это с внешнего веб-сайта (php, как вы его называете), plist, xml или что хотите. Вы можете сделать это, когда у вас инициирован ваш планшет (например, с помощью ASIHTTPRequest) или перед тем, как вы начнете свой просмотр таблиц и просто отправьте его с помощью специального метода инициализации. Во-вторых, вам необходимо прочитать содержимое, которое вы получили. Обычно это здорово получить в формате NSArray. Это зависит от вашей реализации источника данных, из которого вы извлекаете данные.

Если вы новичок в объективах-c и какао-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. 
} 
Смежные вопросы