这可能是一个平凡的问题,但我想知道最佳做法。 自升级到Xcode 5.1以来,我收到了大量关于NSInteger(又名' long')到' int'的损失整数精度的警告。假设因为arm64开关。
到目前为止,我一直在打字,以摆脱警告,例如:
int number = (int)[self.arrayOfUsers count];
或者我应该使用
long number = (int)[self.arrayOfUsers count];
哪个更好"?我现在应该主要使用多头吗?
谢谢!
答案 0 :(得分:6)
您应该做的是使用正确的数据类型:
NSUInteger number = [self.arrayOfUsers count];
不要不必要地投射到int
之类的东西。使用正确的类型。
答案 1 :(得分:0)
如果可以,只需使用相同的类型:
NSUInteger number = [self.arrayOfUsers count];
您的第一个建议:
int number = (int)[self.arrayOfUsers count];
只要您确定数组的计数永远不会超过整数限制(2 ^ 31-1),也会正常工作。