При использовании int для подсчета элементов массива, например ::100100
int size = [latestComments count];
, что я делал в своем приложении, я получаю предупреждение компилятора:
Неявное преобразование теряет целочисленную точность: «NSUInteger» (он же «unsigned long») в «int»
Я никогда не беспокоился об этом слишком сильно, потому что полагал, что при работе с целыми числами точность была достаточно близкой, но я хочу избавиться от предупреждений. Чтобы заставить замолчать предупреждения, безопасно ли изменить все это на:
long size = [latestComments count];
Это, кажется, заставляет замолчать предупреждения на специальной основе, но я хотел бы быть уверенным, что нет никаких больших последствий, о которых я не знаю. (Я заметил, что изменение его на NSInteger или NSUInteger при отключении предупреждения может вызвать проблемы в нисходящем направлении, когда они используются в сравнениях и т. Д.)