2014-12-18 3 views
1

Я пытаюсь реализовать IAP в своем приложении. Поскольку я новичок в этом, я следовал этому руководству: (http://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial).In-app Purchase in iOS8

я получаю ошибки в этой части кода:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath]; 

SKProduct * product = (SKProduct *) _products[indexPath.row]; 
cell.textLabel.text = product.localizedTitle; 

return cell; 
} 

Первая ошибка:

причина: «не удалось из очереди ячейки с идентификатором ячейки - необходимо зарегистрировать перо или класс для идентификатора или подключить прототип ячейки в раскадровке »-> Я вышвырнул forIndexPath: indexPath.

Тогда я просто только получить это (бесполезный) ошибка:

Тема 1: EXC_BAD_ACCESS (код = 1, адрес = 0xb79a91cf)

Мой вопрос, имеет что-то изменилось в прошивкой 8?

PS: Что-то добавить самостоятельно: у меня не было активировано ARC, что решило другие проблемы.

+1

Что ошибка вы получили? Четко изложите свой вопрос. –

+0

Я ожидаю, что 'cell' будет' nil' ... – Droppy

ответ

2

в ИО 8 (или, возможно, даже 7), поведение по умолчанию является то, что вы хотите использовать ячейку таблицы прототип с именем «Cell». Проблема в том, что у вас нет прототипа, поэтому ячейка равна нулю.

Вы можете получить определенный прототип ячейки таблицы, или вы можете явно создать ячейку так:

UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell"]; 
if (cell == nil) { 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"Cell"]; 

} 
1

Просто попробуйте это:

SKProduct *product = (SKProduct *)[_products objectAtIndex:indexPath.row];