2014-03-02 36 views
0

我有這樣的字典定義:的NSMutableDictionary無法識別的選擇發送到實例

@property (strong,nonatomic,readwrite) NSMutableDictionary* images; 

隨着這種方法:

-(void)initImages 
{ 
    UIImage *sprite = [UIImage imageNamed: @"sprite"]; 
    [self.images 
     setObject:CFBridgingRelease(CGImageCreateWithImageInRect(sprite.CGImage, CGRectMake(0, 0, 64, 64))) 
     forKey:[NSNumber numberWithInt:black]]; 
} 

當我打電話:

[self.images objectForKey:[NSNumber numberWithInt:1]]; 

我得到

2014-03-02 14:51:36.831 kljlkj[7853:70b] -[__NSCFType size]: unrecognized selector sent to instance 0x8b73ba0 

上線恰巧:

[self.images objectForKey:[NSNumber numberWithInt:1]]; 

如果我跳過initImages函數調用,什麼也沒有發生,一切都正常,但是如果我不叫initImages我得到的異常...

爲什麼發生這種情況,我該如何解決?

編輯:對不起大家!我錯了,這個例外實際上是在另一條線上拋出的,而且超出了我的想象,並且很有意義。對不起再浪費時間

+0

您是否嘗試過使用'stringWithFormat'而不是'numberWithFormat'? – n00bProgrammer

+2

你確定在你認爲引發的行上拋出異常嗎? – Aaron

+0

仔細檢查您的代碼,查看您初始化或以其他方式將值設置爲self.images的所有地方。 – Aaron

回答

0

這個異常意味着你調用的方法不存在於你調用它的對象上。當你打電話時,somethjng與self.images是錯誤的。

+0

但它不是和數組:@property(strong,nonatomic,readwrite)NSMutableDictionary * images; – user2520938

+0

更新了我的答案。關鍵是你的對象不是一個NSDictionary,而是其他的東西。這是例外的意思。 – Aaron

+0

再次更新我的答案... – Aaron

相關問題