我的代码:
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
转换为无效。
我在这里缺少什么?
答案 0 :(得分:3)
你没有初始化piece
,你只需要声明一个指针并让它悬空。它将指向随机废话和崩溃。您需要将其分配给适当的实例:
PuzzlePiece *piece = [[PuzzlePiece alloc] init]; // or whatever
并且认真地说:在尝试制作iOS应用程序之前确实学习C ,否则您将会自己和用户一起拍摄。