无法设置NSString属性,崩溃

时间:2013-02-04 23:34:42

标签: iphone ios objective-c

我的代码:

     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)。我尝试将key设为NSString *或将(NSString *)key转换为无效。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

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

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

并且认真地说:在尝试制作iOS应用程序之前确实学习C ,否则您将会自己和用户一起拍摄。