0

これらの条件が満たされないまで、マスク = 0 および最初の文字列 = 2 番目の文字列である位置ごとに 2 つの文字列を取るプレフィックス メソッドを作成する指示があります。これがプレフィックス NSString です。

私は試みましたが、何らかの理由でプレフィックス文字列がnullとして返され、助けが得られることを望んでいました.

これが私の方法です

- (void)prefixCalculation:(NSString *)seriesStart SeriesEnd:(NSString *)seriesEnd {

    // call this method when loading the view to get everything set up
    NSLog(@"start %@", seriesStart);
    NSLog(@"end %@", seriesEnd);

    // allocate values so you can use this to create the UITextField
    seriesStartString = seriesStart;
    seriesEndString = seriesEnd;

    // set prefix string

    for (int i = 0; i <= seriesStartString.length ; i++) {

        unichar c1 = [seriesStartString characterAtIndex:i];
        unichar c2 = [seriesEndString characterAtIndex:i];
        if (c1 != c2) {
            break;
        }
        else if (c1 == c2) {

            NSString *str = [NSString stringWithFormat: @"%C", c1];
            [prefixString appendFormat:@"%@",str];

        }

    }
    NSLog(@"prefix %@", prefixString);

}

何が間違っているのかわかりませんが、NSMutableStrong である prefixString が null として返されます。

4

1 に答える 1

1

コードでは の初期化が表示されていないprefixStringため、推測して、初期化したかどうかを確認することをお勧めします。

そうでない場合、それへのメッセージの送信は暗黙prefixStringのうちに失敗します。nil

于 2013-06-10T23:13:39.243 に答える