我有一个程序,我正在完成这是一个名称生成器。现在它从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;
}
答案 0 :(得分:2)
您设置reverseName字符串的行具有向后的名称,因此它将获取firstname,然后使用中间名,但使用反向索引。它应该是:
NSString *reverseName = [NSString stringWithFormat:@"%@ %@", [middleNameArray objectAtIndex:b],[firstNameArray objectAtIndex:a]];