0
これまでと同様のNSPredicateを構築しました。IOS/Objective-C:NSPredicateで範囲外エラーが発生しました。
NSString *shortTitleClause = nil;
NSString *longTitleClause = nil;
編集:
追加条項:ここ
'NSRangeException', reason: '-[NSTaggedPointerString characterAtIndex:]: Index 1 out of bounds; string length 1'
私は述語を構築する方法をされています。しかし、この時間は、それがエラーを生成している
shortTitleClause =[NSString stringWithFormat:@"(shorttitle contains[c] %@)", searchText];
longTitleClause =[NSString stringWithFormat:@"(longtitle contains[c] %@)", searchText];
//私の実際の述語にはさらに多くの節がありますが、どれほど多くの場合でも同じエラーが発生しています。
NSMutableArray *predArr = [@[] mutableCopy];
if (shortTitleClause.length > 0){
[predArr addObject:shortTitleClause];
}
if (longTitleClause.length > 0){
[predArr addObject:longTitleClause];
}
NSString *predStr = [predArr componentsJoinedByString:@"||"];
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:predStr];
searchResults = [theBooks filteredArrayUsingPredicate:resultPredicate];
When searching for the letter 'S' the predicate logs as: `(shorttitle contains[c] S)||(longtitle contains[c] S)`
taggedPointerStringが私に何を指しているかはわかりません。なぜこのエラーが発生しているのか誰にも見えますか?