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 的隐式转换.. 应该使用啥解决方法来处理整数的主要内容,如果未能解决你的问题,请参考以下文章
prolog 中不允许从 Eclipse 迁移到 Android Studio 错误内容
NSNumber 到 NSInteger 从 2 到 528839664
从'NSInteger'(又名'int')分配给'NSString *'的不兼容整数到指针转换;
ios - 从整数(int 或 NSInteger)到 UICollectionView 的 NSIndexPath*
ARC 不允许将 Objective-C 指针隐式转换为“void *”
不兼容的整数到指针的转换将“NSInteger”(又名“int”)发送到“NSInteger *”(又名“int *”)类型的参数