这给了我一个错误,“Bad Reciever type'NSIntegar'(又名'int')。
NSString *tempTag = [((UITextField *)[self.dataSetDictionary objectForKey:key]).tag stringValue];
尝试将uitextfield的标记强制转换为字符串。我可以使用[NSString stringWithFormat],只是无法弄清楚为什么这种方式不起作用。
答案 0 :(得分:4)
您必须使用stringWithFormat:
UITextField *textField = (UITextField *)[self.dataSetDictionary objectForKey:key];
NSString *tempTag = [NSString stringWithFormat:@"%d", textField.tag];
只是无法弄清楚为什么这种方式不起作用。
因为tag
是标量整数而不是对象。您无法将stringValue
等消息发送给非对象。
答案 1 :(得分:2)
tag
是NSInteger数据类型的UIView对象的属性。您无法将消息传递给它。应stringValue
调用NSNumber
。你应该做的是
NSString *tempTag=(NSString*)[[NSNumber numberWithInt:[(UITextField*)[self.dataSetDictionary objectForKey:key] tag]] stringValue];
答案 2 :(得分:-3)
NSIntegers不是对象