我遇到問題,在iTunes Connect中設置適當的耗材出現在我的表中的nib文件中。 (使用雷文德里希的教程)如何在目標C中的表格中顯示選定的耗材目錄C
我已經設置了11個消耗品,它們有兩個不同的集合;硬幣和類別。
我想要做的是有兩個按鈕,每個按鈕都將用戶帶到不同的表格。根據表格顯示不同的設置。
我已經嘗試了幾個小時才能使這個工作,我不能做到這一點;所以我向鞠躬的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連接沒有問題。
這裏顯而易見的問題是,在我想要顯示6行的第一個筆尖中,它顯示了上面列表中的最後六個(不知道爲什麼最後六個而不是前六個)。這很好,但在想要顯示5行的第二個筆尖中,它顯示了上面列表中的最後五個筆畫。我不希望這一點 - 我希望它顯示前五名(硬幣)。
我試過將NSSet分成兩個並通過,但我無法讓它工作。我不知道是否可以在代碼中指定要顯示的集合中的哪些行。相關的代碼(我相信)這可能是我需要做一些欺騙的地方是:
- (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;
}
感謝所有提前。
如何拆分集合不起作用?您可以使用NSPredicate來僅篩選出您想要的產品。 – Wain
嗨Wain--就我所要做的事情而言,有兩件事 - 創建productIdentifiers和productIdentifiers2並調用兩個sharedInstances。這不起作用,因爲它只計算第二次電話。然後,我嘗試將一個變量傳遞給'如果我點擊硬幣按鈕,給我這組產品標識符,否則給我最後一個'的行上的助手類 - 也沒有工作。在這種情況下,我從來沒有使用過NSPredicate - 你能解釋一下你會如何在這裏使用它嗎?謝謝你的幫助! – user1309044
請注意,NSSet是無序的,所以重要的是不要將其中的數據視爲「行」。我會建議有兩套。每種產品類型一個。 – JonathanC