0

我的应用程序崩溃 - 不幸的是,它不可重现 - 这是我得到的崩溃日志,但我无法阅读任何对我有帮助的内容。也许你们中的某个人?会非常棒...

0   libSystem.B.dylib               0x00088c24 __kill + 8
1   libSystem.B.dylib               0x00088c12 kill + 4
2   libSystem.B.dylib               0x00088c06 raise + 10
3   libSystem.B.dylib               0x0009f902 abort + 54
4   libstdc++.6.dylib               0x00065a00 __gnu_cxx::__verbose_terminate_handler() + 588
5   libobjc.A.dylib                 0x00007f1c _objc_terminate + 160
6   libstdc++.6.dylib               0x00063100 __cxxabiv1::__terminate(void (*)()) + 76
7   libstdc++.6.dylib               0x00063178 std::terminate() + 16
8   libstdc++.6.dylib               0x000632a0 __cxa_throw + 100
9   libobjc.A.dylib                 0x00006504 objc_exception_throw + 104
10  CoreFoundation                  0x000a01c0 +[NSException raise:format:arguments:] + 64
11  CoreFoundation                  0x000a01f4 +[NSException raise:format:] + 24
12  Foundation                      0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78
13  here_my_app                     0x0002c35e 0x1000 + 176990
14  here_my_app                     0x00029a6c 0x1000 + 166508
15  UIKit                           0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644
16  UIKit                           0x000a8eac -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] + 44
17  UIKit                           0x0006f3b8 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1100
18  UIKit                           0x0006ce40 -[UITableView layoutSubviews] + 200
19  UIKit                           0x00014ab0 -[UIView(CALayerDelegate) _layoutSublayersOfLayer:] + 32
20  CoreFoundation                  0x000285ba -[NSObject(NSObject) performSelector:withObject:] + 18
21  QuartzCore                      0x0000a61c -[CALayer layoutSublayers] + 176
22  QuartzCore                      0x0000a2a4 CALayerLayoutIfNeeded + 192
23  QuartzCore                      0x00009bb0 CA::Context::commit_transaction(CA::Transaction*) + 256
24  QuartzCore                      0x000097d8 CA::Transaction::commit() + 276
25  QuartzCore                      0x000119d8 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 80
26  CoreFoundation                  0x00074244 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 12
27  CoreFoundation                  0x00075d9e __CFRunLoopDoObservers + 494
28  CoreFoundation                  0x000772f6 __CFRunLoopRun + 934
29  CoreFoundation                  0x0001e0bc CFRunLoopRunSpecific + 220
30  CoreFoundation                  0x0001dfca CFRunLoopRunInMode + 54
31  GraphicsServices                0x00003f88 GSEventRunModal + 188
32  UIKit                           0x00007b40 -[UIApplication _run] + 564
33  UIKit                           0x00005fb8 UIApplicationMain + 964
34  here_my_app                     0x00002f52 0x1000 + 8018
35  here_my_app                     0x00002efc 0x1000 + 7932

这是我的“cellForRowAtIndexPath”的代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"AbfahrtszeitResultTableCell";

    AbfahrtszeitResultTableCell *cell = (AbfahrtszeitResultTableCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"AbfahrtszeitResultTableCell" owner:nil options:nil];

        for (id currentObject in topLevelObjects) {
            if ([currentObject isKindOfClass:[UITableViewCell class]]) {
                cell = (AbfahrtszeitResultTableCell *) currentObject;
                break;
            }
        }

        // make cell not-selectable
        cell.selectionStyle = UITableViewCellSelectionStyleNone;

        // background color
        BOOL day = [self isDayView];

        if (day) {
            UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:ABFAHRTSZEIT_RESULT_TABLE_CELL_BACKGROUND_IMAGE_RED]];
            cell.backgroundView = imageView;
            [imageView release];
        } else {
            UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:ABFAHRTSZEIT_RESULT_TABLE_CELL_BACKGROUND_IMAGE_BLUE]];
            cell.backgroundView = imageView;
            [imageView release];
        }

        // text color
        cell.textLabel.textColor = [UIColor whiteColor];
    }

    // Set up the cell...
    AbfahrtszeitResult *result = [abfahrten objectAtIndex:indexPath.row];
    cell.linienLabel.text = [TextUtil cleanUpString:result.linie];
    cell.zielLabel.text = [TextUtil cleanUpString:result.ziel];
    cell.zeitLabel.text = [TextUtil cleanUpString:result.zeit];

    return cell;
}
4

2 回答 2

1

您从底部到顶部读取堆栈。这是关键区域:

12  Foundation                      0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78
13  here_my_app                     0x0002c35e 0x1000 + 176990
14  here_my_app                     0x00029a6c 0x1000 + 166508
15  UIKit                           0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644

看起来15是 UIKit 试图为 UITableView 创建单元格。1314在您的代码中,可能是您的tableView:cellForRowAtIndexPath:方法。12是处理字符串的 Foundation 方法。

我会看看你的tableView:cellForRowAtIndexPath:方法,看看你在字符串初始化方面可能做错了什么,或者发布你的方法供我们检查。

于 2010-07-02T20:02:08.937 回答
1

没有足够的信息。你被困住了。下次最好不要去掉符号:)

无论如何,关键线是

12  Foundation    0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78
13  here_my_app   0x0002c35e 0x1000 + 176990
14  here_my_app   0x00029a6c 0x1000 + 166508
15  UIKit         0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644

从 #15 我们知道错误出-tableView:cellForRowAtIndexPath:在您的一个委托的方法中,从 #12 我们知道错误是由于初始化字符串造成的。唯一-initWithString:会抛出的方法是当输入参数是nil. 检查调用自的自定义函数-tableView:cellForRowAtIndexPath:并确保字符串不是nil.

于 2010-07-02T20:04:37.540 回答