ARC 中不允许从 NSInteger 到 NSString 的隐式转换.. 应该使用啥解决方法来处理整数

Posted

技术标签:

【中文标题】ARC 中不允许从 NSInteger 到 NSString 的隐式转换.. 应该使用啥解决方法来处理整数【英文标题】:Implicit Conversion from NSInteger to NSString not allowed in ARC.. what workaround should be used to deal with IntegersARC 中不允许从 NSInteger 到 NSString 的隐式转换.. 应该使用什么解决方法来处理整数 【发布时间】:2011-12-14 10:15:13 【问题描述】:

这是我在 viewcontroller.m 文件中的代码

- (void)viewDidLoad
[super viewDidLoad];
[self.abilitygeneration setText:((TestAbility *)[self.testabilities objectAtIndex:0]).abilitygeneration]; 

它给了我一个错误,ARC 不允许将 NSInteger aka int 隐式转换为 NSString。如何启用 ARC 并为此提供解决方法。我可以使用什么来代替 setText?

abilitygeneration 在 TestAbility.h 文件中设置为 NSInteger。谢谢

【问题讨论】:

【参考方案1】:

所以如果我理解正确的话,setText: 需要一个NSString 而你有一个NSInteger?如果正确,您可以按如下方式显式转换它们:

[self.abilitygeneration setText:[NSString stringWithFormat:@"%d",((TestAbility *)[self.testabilities objectAtIndex:0]).abilitygeneration]];

【讨论】:

感谢您的帮助.. 准确准确

以上是关于ARC 中不允许从 NSInteger 到 NSString 的隐式转换.. 应该使用啥解决方法来处理整数的主要内容,如果未能解决你的问题,请参考以下文章