gpt4 book ai didi

iphone - InApp 在数组中购买奇怪的排列

转载 作者:行者123 更新时间:2023-11-29 13:18:22 27 4
gpt4 key购买 nike

我正在尝试执行 inaAppPurchases 并使用以下代码

     NSSet *myProductIdentifiers = [NSSet setWithObjects:
@"inapppurchase.first",
@"inapppurchase.second",
@"inapppurchase.third",
@"inapppurchase.fourth",
@"inapppurchase.fifth",
@"inapppurchase.sixth",
nil];

if ((self = [super initWithProductIdentifiers:myProductIdentifiers]))
{

}
return self;
///////////////////////////////////

- (id)initWithProductIdentifiers:(NSSet *)identifiers
{
if ((self = [super init]))
{
}
self.productIdentifiers = identifiers;

return self;
}

- (void)requestProducts
{
self.request = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
request.delegate = self;
[request start];
}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
self.products = response.products;
SKProduct *product = [self.products objectAtIndex:0];
NSLog(@"%@", product.price);
self.request = nil;
}

问题是,当我调用 requestProducts 然后委托(delegate)函数 - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response 被调用时,产品的顺序与我的 NSSet 值不同

我的 self.products 的顺序是 Fifth, First, second, Fourth, Sixth and third。这是为什么?为什么顺序不对?

最佳答案

与数组不同,NSSet 不会按特定顺序保存对象。事实上,objectAtIndex 不能与 NSSet 一起使用。为了查看 NSSet 中的对象,您可以使用其属性之一,例如 anyObject,它随机返回集合中的一个对象,或者 allObjects ,它返回集合中所有对象的 NSArray,它们在返回的数组中随机排序。 SKProductsRequest 可能访问 NSSet.allObjects,然后枚举数组中的每个对象以确定它是否是有效产品。

返回随机排序的一组有效产品后,只需将该组与包含正确排序的产品的数组进行比较即可。您将能够识别任何无效产品,同时保留您的产品订单。

关于iphone - InApp 在数组中购买奇怪的排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15055393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com