1

我一直在开发一个应用程序,在开发过程中,我遇到了一个非常奇怪的问题。我有一个NSMutableArraytempSortedArray,里面充满了Store各种类型的对象。所有对象都是有效的,因为我可以在我的 GUI 中看到它们,当我遍历数组时出现问题,索引为 90,通常可以是任何人,XCodeStore对象转换为NSMutableArray对象。任何想法,为什么会这样。这是检查我在做什么的代码:

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"cashBack"
                                                               ascending:NO];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [storesArray sortedArrayUsingDescriptors:sortDescriptors];

for (int i = 0; i < [tempSortedArray count]; i++) {
    Store *currentStore = [tempSortedArray objectAtIndex:i];
    NSLog(@"store class: %@", [currentStore.class description]);
    if (currentStore.cashBackTypeString != (id)[NSNull null]) {
          //do whatever is required to do here
    }
4

2 回答 2

3

我没有看到您更改代码中的对象类型。你确定你tempSortedArray只包含Store对象吗?我会假设您的错误在于创建tempSortedArray.

于 2013-06-26T10:05:19.443 回答
0

首先,我想您需要发布更多包含tempSortedArray.
另请检查,也许您设置NSMutableArray为对象tempSortedArray而不是Store

于 2013-06-26T10:06:16.670 回答