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 *”)类型的参数