Objective c 反向UILabel.text值

Objective c 反向UILabel.text值,objective-c,ios,cocoa-touch,Objective C,Ios,Cocoa Touch,我正在完成一个程序,它是一个名字生成器。现在,它从两个单独的数组中获取一个随机值,将它们连接起来,并将结果显示为标签。文本——我希望有一个按钮可以反转标签文本(而不是John Doe,它会说Doe John)。这是我用来做这件事的代码。我的想法是使用数组中的相同值,然后将字符串分配给变量,以便稍后在另一个名为“reverseNameValue”的方法或其他方法中使用。它不工作:)当我单击“反转”按钮时,它会显示一个完全不同的名称。有什么建议吗 - (IBAction)generateBName:

我正在完成一个程序,它是一个名字生成器。现在,它从两个单独的数组中获取一个随机值,将它们连接起来,并将结果显示为标签。文本——我希望有一个按钮可以反转标签文本(而不是John Doe,它会说Doe John)。这是我用来做这件事的代码。我的想法是使用数组中的相同值,然后将字符串分配给变量,以便稍后在另一个名为“reverseNameValue”的方法或其他方法中使用。它不工作:)当我单击“反转”按钮时,它会显示一个完全不同的名称。有什么建议吗

- (IBAction)generateBName:(id)sender {
int a = arc4random() % 3;
int b = arc4random() % 3;


// populate the array for the names
NSArray *firstNameArray = [NSArray arrayWithObjects: @"Jacob",
                           @"Ethan",
                           @"Justin", nil];
NSArray *middleNameArray = [NSArray arrayWithObjects: @"Jose",
                            @"Jeremiah",
                            @"Julian", nil];

// concatenate strings at index of array
NSString *fullName = [NSString stringWithFormat:@"%@ %@", [firstNameArray objectAtIndex:a], [middleNameArray objectAtIndex:b]];
NSString *reverseName = [NSString stringWithFormat:@"%@ %@", [firstNameArray objectAtIndex:b], [middleNameArray objectAtIndex:a]];

// display the newly created first & middle names
reverseNameString = reverseName;
babyname.text = fullName;
相反的方法是:

- (IBAction)reverseLabel:(id)sender {
babyname.text = reverseNameString;
}

设置reverseName字符串的那一行的名称是向后的,因此它先获取firstname,然后是middlename,但索引是反向的。应该是:

 NSString *reverseName = [NSString stringWithFormat:@"%@ %@", [middleNameArray objectAtIndex:b],[firstNameArray objectAtIndex:a]];

“反转”按钮触发此方法?此方法用于“生成”按钮。。reverse按钮基本上会显示babyname.text=reverseNameString;您是否可以包括按下“reverse”(反转)时运行的代码?
reverseNameString
是ivar吗?你在用ARC编译吗?宾果,就是这样。(提示d'oh声音字节)。我会在6分钟内接受这个,当我可以的时候:D