我有以下代碼:爲什麼setValue:forKeyPath對可變字典調用拋出未知keypaths的異常?
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[defs setObject:[NSNumber numberWithInt:100] forKey:@"test1.test2.test3"];
[defs setValue:[NSNumber numberWithInt:10] forKeyPath:@"test2.test3.test4"];
我明白setObject:forKey:
創建「test1.test2.test3」鍵和給定數量的對象之間的關聯。另一方面,setValue:forKeyPath:
是一種鍵值編碼方法,它嘗試爲路徑「test2.test3.test4」定位對象,但最後它只是默默無聞。它甚至不修改字典!
令我非常困惑的是setValue:forKeyPath:
不會引發任何異常,也不報告任何錯誤。爲什麼是這樣?這種行爲是否在任何地方記錄?
謝謝。這確實可以解釋沉默:-( – 2011-04-22 14:03:24