2015-11-18 51 views
-3

昨天我在我的應用程序中收到一條錯誤消息,當我使用KVC將值設置爲BOOL類型時,它在ios7.1上,數據源是@「0」,並且我得到了這些錯誤消息錯誤消息在ios7上設置BOOL值錯誤

終止應用程序由於未捕獲的異常 'NSInvalidArgumentException' 的,原因是: ' - [__ NSCFConstantString 的charValue]:無法識別的選擇發送到實例0xa2030'

正是在iOS8上確定和以後,是布爾有一些不同的armv7armv7s或不同的機智h BOOL?

+1

我不明白代碼會如何工作,除非指向字符串常量的指針只是簡單地轉換爲BOOL,並且您很幸運,它從不設置錯誤的值。 – Avi

+0

顯示你的代碼在哪裏添加了數組的布爾值, –

+0

@ Anbu.Karthik我沒有添加布爾到數組,它只是一個屬性在類中,代碼只是[self setValue:@「0」forKey:@ 「_boolValue」]; –

回答

0

試試這個

如果設置了布爾值使用NSNumber numberWithBool店面,例如

改變這種

[self setValue:@NO forKey:@"_boolValue"] 

[self setValue:[NSNumber numberWithBool:NO] forKey:@"_boolValue"]; 
+0

檢查更新的答案bro –

+0

是的,我知道它的工作原理,但我想知道爲什麼它在ios8中工作正常 –

+0

可能是它發生的版本控制, –