0
我有一個方法,從數組中選擇一個隨機的精靈節點放置在屏幕上。儘管我的應用崩潰了。這是從錯誤消息的代碼段:NSArray可能導致應用程序崩潰?
*終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因: ' - [__ NSCFConstantString decodeObjectForKey:]:無法識別的選擇發送到實例0x47b4'
這是我寫出來的方法。
-(SKSpriteNode *) gamePieces {
NSArray *things = [NSArray arrayWithObjects: @"piece1", @"piece2", @"piece3", nil];
int r = arc4random() % [things count];
SKSpriteNode *randomObject = [[SKSpriteNode alloc] initWithCoder:[things objectAtIndex:r]];
return randomObject;
}
任何想法是什麼問題?
你正在申請「decodeObjectForKey到一個NSString,這是行不通的 –
我該如何解決這個問題? – cocoamoco
首先,瞭解如何捕獲和解釋異常堆棧跟蹤,以便找出錯誤的位置然後找出你爲什麼調用「decodeObjectForKey」(這是在NSArray或NSDictionary上使用'[]'索引的操作轉化爲)在NSString上(你可能錯誤地將它標記爲NSArray或NSString ) –