nib ファイルのテーブルに表示されるように iTunes Connect で設定した適切な消耗品を選択する際に問題が発生しています。(Ray Wenderlich のチュートリアルを使用)
2 つの異なるセットに含まれる 11 個の消耗品をセットアップしました。コインとカテゴリ。
私がやりたいことは、ユーザーを別のテーブルに移動させる 2 つのボタンを用意することです。テーブルによって異なるセットが表示されます。
これを機能させるために何時間も試みましたが、できません。だから私は StackOverflow コミュニティの力に頭を下げて助けてくれます。
現在、私のセットは次のとおりです。
NSSet * productIdentifiers = [NSSet setWithObjects:
@"com.ac.scramble.coins1",
@"com.ac.scramble.coins2",
@"com.ac.scramble.coins3",
@"com.ac.scramble.coins4",
@"com.ac.scramble.coins5",
@"com.ac.scramble.category1",
@"com.ac.scramble.category3",
@"com.ac.scramble.category5",
@"com.ac.scramble.category8",
@"com.ac.scramble.category15",
@"com.ac.scramble.category30",
nil];
sharedInstance = [[self alloc] initWithProductIdentifiers:productIdentifiers
これは問題なく iTunes Connect を介してセットアップされます。
ここでの明らかな問題は、6 行を表示したい最初の nib で、上記のリストの最後の 6 つが表示されていることです (なぜ最初の 6 つではなく最後の 6 つなのかわかりません...)。これは問題ありませんが、5 行を表示する 2 番目の nib では、上記のリストの最後の 5 行が表示されています。私はそれを望んでいません - 上位 5 つ (コイン) を表示したいのです。
NSSet を 2 つに分割して通過しようとしましたが、うまくいきません。コードのどこかで、表示したいセットの行を指定できるかどうかわかりません。おそらく私がいくつかのトリックを行う必要がある適切なコード(私は信じています)は次のとおりです。
- (void)reload {
_products = nil;
[self.table2 reloadData];
[[RageIAPHelper sharedInstance] requestProductsWithCompletionHandler:^(BOOL success, NSArray *products) {
if (success) {
_products = products;
[self.table2 reloadData];
}
//[self.refreshControl endRefreshing];
}];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableCell";
SimpleTableCell *cell = (SimpleTableCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SimpleTableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
SKProduct *product = (SKProduct *) _products[indexPath.row];
cell.nameLabel.text = product.localizedTitle;
NSLog(@"Localized title: %@", product.localizedTitle);
cell.thumbnailImageView.image = [UIImage imageNamed:[thumbnails3 objectAtIndex:indexPath.row]];
cell.descriptionLabel.text = [descriptions3 objectAtIndex:indexPath.row];
[_priceFormatter setLocale:product.priceLocale];
//cell.detailTextLabel.text = [_priceFormatter stringFromNumber:product.price];
cell.progressLabel.text = [_priceFormatter stringFromNumber:product.price];
cell.descriptionLabel.text = product.localizedDescription;
}
事前にすべてに感謝します。