ios - 苹果手机 : why my in-app purchase product array object index set automatically in alphabetical order

标签 ios cocoa-touch in-app-purchase nsset

我正在应用程序中处理应用程序内购买任务,我目前完成了所有工作,但我需要一个帮助,我的产品数组显示在 UITableview 中并按字母顺序排序,但我需要与我的产品标识符显示相同的内容,我该如何做这件事请帮忙

我的问题示例如下:-

我将我的产品产品标识符设置为

- (id)init 
{
   NSSet *productIdentifiers = [NSSet setWithObjects:
                                   @"com.myapp.calculation.c",
                                   @"com.myapp.calculation.d",
                                   @"com.myapp.calculation.a",
                                   @"com.myapp.calculation.s",
                                   @"com.myapp.calculation.b",
                                   @"com.myapp.calculation.h",
                                   nil];

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

    }

    return self;
}   

在表格 View 中,数据显示在单元格上按字母顺序排序 A 乙 C d H

但我需要它与产品标识符(如 c d a s b h)显示相同

请帮忙。

最佳答案

扩展上面 Adam 的评论,如果您尝试在 TableView 中显示集合类中的数据,则应该使用数组作为数据源,而不是集合。这是因为 NSArray 中包含的对象是根据对象放入数组的方式自动排序的,因此将按该顺序出现。对于 NSSet,内容是无序的,因此将以任何顺序出现。

看看 Apple 的 Values and Collections文档,其中详细介绍了 Cocoa 中可用的三种主要集合类类型:NSArray、NSSet 和 NSDictionary。

关于ios - 苹果手机 : why my in-app purchase product array object index set automatically in alphabetical order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12328805/

相关文章:

ios - 需要一个 key 名称来在用于 OTP 的 twilio API 中显示发件人姓名或号码

ios - 如何使用 swinject 正确注入(inject)依赖项

ios - 为什么我的应用程序中有两个 UIWindows 而第一个隐藏了?

objective-c - 调整 UITableViewCell 的 contentView 大小时 UILabel 的过渡效果

testing - Google Play - 应用内购买 - 测试人员未被告知他们不会被收费

iphone - Itunes Connect-如何删除应用内购买的新版本

ios - 解决降低 UITableViewCell 高度时的约束冲突

javascript - chrome iOS touchmove 事件不起作用

ios - 如何在iOS中测试空对象?

objective-c - SKPaymentTransaction expires_date,似乎 "auto renew"机制在沙箱中不起作用