0

私はiosが初めてで、このようなことをしようとしています

self.dataArray = [dictionary valueForKey:@"LIST"];

{
  "List": [
    {
      "FULLNAME": "FirstName, LastName",
      "ID": "281"
    }
  ]
}

「FULLNAME」にある値を交換したい、つまり、LastName、FirstName にしたい

いろいろな方法を試しましたがうまくいきません。誰かがこれを達成する方法を教えてもらえますか?

ありがとうございました

4

2 に答える 2

3

辞書操作の方法を知っていると仮定すると、文字列内の要素を交換する 1 つの方法を次に示します。

NSString* name = @"Firstname, Lastname";
// Remove the space after comma (not necessary if you know the name will always
// have a space after comma, then just split on ', '.
NSString* normalizedName = [name stringByReplacingOccurrencesOfString:@", " withString:@","];
// Split the string on ','.
NSArray* nameParts = [normalizedName componentsSeparatedByString:@","];
// Reverse the array
NSArray* reverseNameParts = [[nameParts reverseObjectEnumerator] allObjects];
// Join the array with ', '
NSString* revname = [reverseNameParts componentsJoinedByString:@", "];
NSLog(@"Reversed name parts: %@", revname);
于 2012-10-16T10:57:02.253 に答える
1

辞書に配列が含まれている場合は、valueForKey ではなく objectForKey にすべきだと思います。

self.dataArray = [dictionary objectForKey:@"LIST"];
    for(NSString *fullname in self.dataArray){
        if([fullname isEqualToString:@"FULLNAME"]){
            NSArray *name = [fullname componentsSeparatedByString:@","];
            NSMutableString* reverseName = [NSMutableString string];
            for (int i=[name count]-1; i>=0;i--){
                [reverseName appendFormat:@", ", [name objectAtIndex:i]];
                //reverse name should be what you are looking for..or something close
            }
        }
    }

お役に立てれば

于 2012-10-16T11:05:40.853 に答える