![](/img/trans.png)
[英]objective c implicit conversion loses integer precision 'NSUInteger'
[英]IOS/Objective-C/Xcode: implicit conversion loses integer precision error with int
使用int計數數組的元素時,例如:
int size = [latestComments count];
我在應用程序中一直在做的事情,我收到了編譯器警告:
隱式轉換將失去整數精度:將'NSUInteger'(aka'unsigned long')轉換為'int'
我從不為此擔心太多,因為我認為在處理整數時精度足夠接近,但是我想擺脫警告。 為了使警告靜音,將所有這些更改為:
long size = [latestComments count];
這似乎臨時使警告消失,但是我想確定,沒有更大的后果,我不知道。 (我注意到,在沉默警告時將其更改為NSInteger或NSUInteger可能會在進行比較等操作時導致下游問題。)
long
不會解決您的問題。 count
屬性返回一個無符號整數NSUInteger
。 要消除該錯誤,您必須聲明NSUInteger size = ..
因為如果類型不再匹配,它可能會將警告推送到您將要使用的size
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.