簡體   English   中英

iOS / Objective-C / Xcode:隱式轉換由於int丟失整數精度錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM