2

我的代码:

     NSArray *keys = [piecesDict allKeys]; 
    //keys are NSStrings of sprite names, piecesDict is NSDictionary

    for(int i = 0; i < piecesDict.count; i++){
        PuzzlePiece *piece;
        id key = [keys objectAtIndex:i];
        piece.keyName = key; }

崩溃的确切代码是piece.keyName = key. 我明白了 EXC_BAD_ACCESS。该.keyName物业是(nonatomic, retain)。我试过制作keyNSString *铸造它(NSString *)key无济于事。

我在这里想念什么?

4

1 回答 1

3

您无需初始化piece,只需声明一个指针并将其悬空。它将指向随机的废话和崩溃。您需要将其分配给适当的实例:

PuzzlePiece *piece = [[PuzzlePiece alloc] init]; // or whatever

说真的:在尝试制作 iOS 应用程序之前先学好 C 语言,否则你会害了你自己和你的用户。

于 2013-02-04T23:41:12.060 回答