我花了很多小時試圖找到解決方案,所以如果它在這裏某處,我錯過了它,我很抱歉...NSArray,試圖將數組中的對象的索引號傳遞給函數
在.H
@property (nonatomic, strong) NSArray *physicalMan;
-(int) getManeuverRating:(int *) value;
在.M
physicalMan = [[NSArray alloc] initWithObjects:@"Grip-Hold", @"Strike", @"Fall", @"Response", nil];
NSLog(@" The second element is: %@", [physicalMan objectAtIndex:1]);
NSLog (@" This is the index location of Grip-Hold: %i", [physicalMan indexOfObject:@"Grip-Hold"]);
[self getManeuverRating:[physicalMan indexOfObject:@"Grip-Hold"]];
}
-(int) getManeuverRating:(int *) value
{
int a = *value;
return a + 1;
}
的NSLogs做工精細用正確的價值觀,這就是爲什麼我很困惑,爲什麼功能將無法正常工作。 編譯器警告說:「不兼容整數到指針轉換髮送'NSUInteger'(又名'無符號整型')參數的類型'int *'」 我試着刪除*和我試圖找到其他數據類型,並轉換數據類型,我無法獲得任何正確的工作。請幫助或指引我正確的方向......我做錯了什麼?我錯過了什麼?
你爲什麼要通過地址傳遞「價值」? indexOfObject不返回地址。 (是不是編譯器尖叫血腥謀殺呢?) –
可能的重複[在目標C中從整數指針](http://stackoverflow.com/questions/8628279/making-pointer-from-integer-in-jective -c) – Chuck
我原來有int a = value; xcode告訴我添加*,這是錯誤的,我需要將(int *)更改爲(NSUInteger),然後返回* off值,並且所有內容都很好,很開心。 – Hammerhead96