1

何か奇妙なことが起こっています。コードの下部にある subString 変数に NSString を再割り当てするとき。出力では subString の値が空のようです。objectAtIndex が何か変なものを返しているのか、それともメモリの問題なのかはわかりません。subString の値を再割り当てする代わりに新しい変数を作成すると、出力コンソールに正しい値が表示されます。誰かが私がこれを理解するのを手伝ってくれたら。それは大歓迎です。

NSString *subString = @"";
if ([text length] > 0) 
{
    UITextRange *selectedRange = [_textView selectedTextRange];
    UITextPosition *cursorPosition = [_textView positionFromPosition:selectedRange.start offset:0];
    UITextRange *subTextRange = [_textView textRangeFromPosition:_textView.beginningOfDocument toPosition:cursorPosition];
    subString = [textView textInRange:subTextRange];
}

NSLog(subString);
NSLog(@" %s", [subString hasSuffix:@" "] ? "TRUE" : "FALSE");
BOOL hasSpaceSuffix = [subString hasSuffix:@" "];
NSLog(@" %s", _taggingInProgress ? "TRUE" : "FALSE");
NSArray *substringArray = [[subString componentsSeparatedByString:@" "] retain];
if ([substringArray count] > 1) {
    int index = [substringArray count];
    if ([[substringArray objectAtIndex:index-1] isEqualToString:@" "])
    {
        NSLog(@"1st");
        subString = [substringArray objectAtIndex:index-2];
        NSLog(subString);
    }
    else
    {
        NSLog(@"2nd");
        subString = [substringArray objectAtIndex:index-1];
        NSLog(subString);
    }
    NSLog(@"AFTER");
    NSLog(subString);
}
4

1 に答える 1

0

私はあなたが使用する必要があると思います:

subString = [NSString stringWithString:[substringArray objectAtIndex:index]];

...修繕...

于 2012-06-28T19:43:00.803 に答える