我有以下的實例方法應返回一個NSUInteger:另一個「NSUInteger *」(又名「無符號整數*」)與「NSUInteger」(又名「無符號整型」)
- (NSUInteger)getCurAnsPos {
NSUInteger CAP = 999;
NSArray *curCAS = [[GameData gameData].curData valueForKey:@"clueAnsState"];
for (NSInteger idx = 0; idx < 8; idx++) {
NSString *temp = [curCAS objectAtIndex:idx];
if ([temp isEqualToString:@"2"]) {
CAP = [curCAS indexOfObject:temp];
NSLog(@"CAP = ");
NSLog(@"%i", CAP);
} // only one curCAS should be = 2
}
return CAP;
}
我得到的問題標題中的錯誤。 CAP計算的值是正確的,但返回類型顯然是錯誤的。我不明白爲什麼。我知道這與指針vs原語有關,但在閱讀了SO檔案之後,我認爲這應該起作用。這可能是CAP = [curCAS indexOfObject:temp];
返回CAP作爲指針(實際上,它一定是),但我仍然不知道如何改變它。我需要的是我可以在objectAtIndex:CAP
聲明中使用的東西。謝謝。
你正在得到什麼確切的錯誤?標題沒有說清楚。 – bneely 2012-04-01 02:00:59
這個編譯沒有任何錯誤或警告我在iOS 5.1與ARC。 – lnafziger 2012-04-01 02:06:43
對不起,這是編譯後的一個警告,不是錯誤:''getCurAnsPos'的實現中有衝突的返回類型:'NSUInteger *'(又名'unsigned int *')與'NSUInteger'(又名'unsigned int')'我使用Xcode 4.3和iOS 5.0。 – 2012-04-01 02:15:10