1

文字列を配列に挿入する必要があることに気付くまで、NSArrayを使用してこれを機能させました。これを NSMutableArray に変更していますが、構文に問題があります。NSMutable 配列で componentsJoinedByString を使用できますか?

    NSString *item;
    int numofSeg;
    int needSeg;
if (textfield.text == @"::") {
        numofSeg = 0;

    }
    NSMutableArray *dlist = [[NSMutableArray alloc]init];
    //take string from textfield and split it into a list on colons.
    dlist = [textfield.text componentsSeparatedByString:@":"];
    //run through list to count how many segments. Non blank ones.
    for (item in dlist) {
        if (item != @""){
            numofSeg = numofSeg + 1;
            NSLog(@"%@",numofSeg);
        }
    }
    //determine number of segments
    needSeg = 8 - numofSeg;
    while (needSeg > 0) {
        //insert 0000 at blank spot
        [dlist insertString:@"0000" atIndex:@""];
        needSeg = needSeg - 1;
    }
    for (item in dlist) {
        if (item == @"") {
            //remove blank spaces from list
            [dlist removeAllObjects:item];
        }
    }
    //join the list of times into a string with colon
    NSString *joinstring = [dlist componentsJoinedByString:@":"];
    NSLog(@"%@",joinstring);
4

2 に答える 2

1

NSMutableArrayと呼ばれるメソッドはないと思いますinsertString:atIndex:insertObject:atIndex:おそらく代わりに使用する必要があります。

正確にはどのようなエラーが発生しますか?

編集:

NSMutableArrayに挿入するためにのみを使用する場合は、次のように簡単に実行できます。@"0000"@" "

string = [string stringByReplacingOccurrencesOfString:@" " withString:@" 0000"];

またはそのようなもの。使用する必要はありませんNSMutableArray

于 2012-08-14T22:19:55.983 に答える
0

私はついにそれを理解しました。これを修正するために最終的に使用したのは次のとおりです。

NSString *z = @"0000";
z =  [z stringByAppendingString:@""]; 
于 2012-08-16T16:44:43.027 に答える