Ваша ссылка на NSNumber в вашем коде является ошибкой, и вам повезло, что в вашем коде не возникло исключение нераспознанного селектора. Ваш destinationArray
является массивом строк NSS, а не номеров NSN. Так уж получилось, что оба метода NSString
и NSNumber
имеют методы doubleValue
и intValue
. Поэтому, когда вы говорите [number doubleValue]
в своем цикле, вы на самом деле заканчиваете тем, что звоните [NSString doubleValue]
, который, конечно, все равно возвращает желаемое число. Однако, если вы попытаетесь вызвать [number shortValue]
, где shortValue
- это селектор, который существует только в NSNumber
, а не NSString
, ваш код выдаст исключение и не будет работать.
Мораль этого ответа состоит в том, что вы должны удалить в своем коде любую ссылку на NSNumber или фактически преобразовать объекты в destinationArray
в NSNumbers. В противном случае вы рискуете столкнуться с новыми проблемами.