0

我有一个像“s21”这样的 NSString 并试图将数字转换为按钮的标签。

我在做:

NSString *temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
[_b0 setTag: [temp intValue]];

_b0 是我的 UIButton。

运行 setTag 后,我正在运行 NSLog 来检查标签,但按钮的标签没有改变,仍然为 0。

我究竟做错了什么?

4

5 回答 5

1

您的代码是正确的,没有问题,因为我已经实现了。见下文我认为你在其他代码中做错了什么..

NSString *temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];

UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(20, 20, 100, 100);
[self.view addSubview:btn];
[btn setTag: [temp intValue]];

NSLog(@"Tag %d",btn.tag);

输出 :

标签 21

于 2013-05-13T07:59:24.813 回答
1

如果您通过 nib 文件创建它,只需检查IBOutlet您的连接。UIButton

于 2013-05-13T08:05:27.273 回答
0
NSString *str = @"S21";
NSString *newStr = [str substringFromIndex:0];
于 2013-05-13T07:57:20.457 回答
0

这应该工作

NSString *temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
_b0.tag = [temp intValue];
于 2013-05-13T07:58:00.443 回答
0
*temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
_b0.tag = [temp intValue]; 
于 2013-05-13T08:02:52.947 回答