我有一个类似“s21”的NSString,我正在尝试将数字转换为按钮的标签。
我在做:
NSString *temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
[_b0 setTag: [temp intValue]];
_b0是我的UIButton。
我在运行setTag后运行NSLog来检查标签,但是按钮的标签没有改变,仍然是0。
我做错了什么?
答案 0 :(得分: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
答案 1 :(得分:1)
如果您是通过nib文件创建IBOutlet
,请检查UIButton
的连接。
答案 2 :(得分:0)
NSString *str = @"S21";
NSString *newStr = [str substringFromIndex:0];
答案 3 :(得分:0)
这应该有效
NSString *temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
_b0.tag = [temp intValue];
答案 4 :(得分:0)
*temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
_b0.tag = [temp intValue];