0
好的,所以我建立一本書的一致性,似乎一切正常工作期望我的比較函數要麼找出該單詞是否已經在我的數組中,我做了一個基本的比較函數,要麼返回1,-1或0.我知道有一個NSComparisonResults,但我對此更加舒適。反正我想在_wordBeingCatalog比較在我UniqueWord類另一個詞的功能,這就是我在我的類,它幾乎涉及到我的方法比較類內導致錯誤的方法; NSInvalidArgumentException
-(instancetype)initWithString:(NSString*)wordBeingCataloged
andline:(NSNumber*)currentLine
{
self = [super init];
if(self == nil) return nil;
_wordBeingCataloged=wordBeingCataloged;
_count=0;
_LinenumberWhereWordisFound= [[NSMutableArray alloc]init];
[self addALineNumberToCurrentLineNumberArray:currentLine];//This is a function in c++ it looks like addline(currentline); i dont know if i did it right
return self;
}
-(NSInteger) compareCurrent:(UniqueWord *)word withAnother:(UniqueWord *)text{
if ([word isGreaterThan:text])//crashes here
{
return 1;
}
if([text isGreaterThan:word]){
return -1;
}
return 0;
}
-(void) addALineNumberToCurrentLineNumberArray:(NSNumber *)currentLine{
NSInteger index=[ self newIndexUsing:currentLine];
++_count;
if(index==-1)
return;
[_LinenumberWhereWordisFound insertObject:currentLine atIndex:(0+index)];
}
當我跑我的方法我造成
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [UniqueWord compare:]: unrecognized selector sent to instance 0x100201740'
我的信念是,它不是比較我的兩個字符串中的數組,而是比較其他東西,有人可以請解釋我收到的問題。
順便程序在第一站,如果在比較函數聲明