我使用類似這樣的東西:[tmpArray insertObject:something [i] atIndex:i];如何將指針轉換爲對象?
但我得到了一個MSG:通過「insertObject:atIndex:」的參數1使得整型指針沒有強制轉換。
我應該怎麼做才能解決它?
我使用類似這樣的東西:[tmpArray insertObject:something [i] atIndex:i];如何將指針轉換爲對象?
但我得到了一個MSG:通過「insertObject:atIndex:」的參數1使得整型指針沒有強制轉換。
我應該怎麼做才能解決它?
我想你的something[]
數組是一個C數組int
,如果是這種情況,你不能將它的值在該位置傳遞給NSArray,因爲它包含對象(並且obj-C中的對象被指針引用)。
你可以做的是包裹INT爲NSNumber
this way: [tmpArray insertObject:[NSNumber numberWithInt:something[i]] atIndex:i];
你不能神奇地讓隨機指針變成一個對象,你需要了解指針的類型是什麼,做一些語義與該類型合理。此外,這不是你所看到的錯誤。這個錯誤是因爲期望的類型是一個指針(並且ObjC中的一個對象也是一個指針類型),並且你傳遞的東西的類型信息是一個標量。
瞎猜,something
可能是int數組,如果是的話你想要做的是包裝是爲了將其存儲在一個集合在一個NSNumber整數:
//assuming this:
int something[100];
//then your line should be this:
[tmpArray insertObject:[NSNumber numberWithInt:something[i]] atIndex:i];
顯然你將需要在您訪問它的任何地方取消該值。如果它不是一個整數數組,那麼你將需要做別的事情(雖然可能類似),但沒有更多的信息,我不能告訴你究竟是什麼。