0
我該對象中存儲對象的哈希值作爲唯一的標識符,像這樣:將散列轉換爲NSNumberWithInt不一致?
[myObj setValue:[NSNumber numberWithInt:[myObj hash]] forKey:@"ID"];
但檢索該鍵的值時,該值不再與哈希一致,要曉得這個代碼:
NSLog(@"[myObj hash] %i",[myObj hash]);
NSLog(@"[myObj hash] NSNumber %@",[NSNumber numberWithInt:[myObj hash]]);
[myObj setValue:[NSNumber numberWithInt:[myObj hash]] forKey:@"ID"];
NSLog(@"myObj ID %@",[myObj valueForKey:@"ID"]);
生成類似的輸出:
[myObj hash] -976941568
[myObj hash] NSNumber -976941568
myObj ID 3584
哪些基本有關哈希和/或關鍵的事情/值對做我顯然不是下站?
湯普森
[編輯]
原諒我的新手方式! myObj是一個NSManagedObject,並且是鍵/值兼容的,所以ID就是我創建的一個關鍵。
每當你遇到意外的高幅度負數,應立即檢查是否正在顯示一個無符號的價值,如果它是簽名。 –