反转UILabel.text值

时间:2012-05-22 02:45:32

标签: objective-c ios cocoa-touch

我有一个程序,我正在完成这是一个名称生成器。现在它从2个独立的数组中获取一个随机值,连接它们并将结果显示为标签。 text - 我想要一个按钮来反转标签文本(而不是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;
}

1 个答案:

答案 0 :(得分:2)

您设置reverseName字符串的行具有向后的名称,因此它将获取firstname,然后使用中间名,但使用反向索引。它应该是:

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