objective-c - 反转 UILabel.text 值

标签 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;
}

最佳答案

设置 reverseName 字符串的那一行的名字是倒过来的,所以它获取了一个名字,然后是一个中间名,但索引是反向的。应该是:

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

关于objective-c - 反转 UILabel.text 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10695125/

相关文章:

objective-c - 2 单个 View 上的 TableView

iphone - 正确地子类化 UITableViewCell?

ios - 为什么高度相关的方法放在 UITableViewDelegate 中,而不是放在 UITableViewDataSource 中

iphone - 在我的 iPhone 应用程序内读取 "Settings"应用程序中的通知标志

iphone - 如何正确显示新 View 以及如何返回到之前的 View

ios - 越狱 iOS 以编程方式开始和结束调用

ios - 在 UITableViewCell 中添加自定义编辑和删除按钮

ios - 借助 iPhone 应用程序的 Web 服务发送数据是否有任何限制?

ios - 如何创建一个椭圆形的 UIView?

iphone - UISegmentedControl 抛出异常