Я делал базовый метод, который принимает URL-адрес изображения Flickr и возвращает идентификатор изображения. Я передаю метод NSString
@"http://farm6.staticflickr.com/5183/5629026092_c6762a118f"
.NSString intValue deforming фактическое число
Целью является возвращение int: 5629026092
, который находится на URL-адресе изображения и является идентификатором изображения.
Вот мой метод:
-(int)getImageIDFromFlickrURL:(NSString *)imageURL{
NSArray *objectsInURLArray = [imageURL componentsSeparatedByString:@"/"];
NSString *lastObjectInFlickrArray = [objectsInURLArray lastObject];
NSArray *dirtyFlickrIdArray = [lastObjectInFlickrArray componentsSeparatedByString:@"_"];
NSString *flickIDString = [dirtyFlickrIdArray objectAtIndex:0];
NSLog(@"flickr id string: %@",flickIDString);
int flickrID = [flickIDString intValue];
NSLog(@"id: %i",flickrID);
return flickrID;
}
Выход в консоли:
2012-05-26 13:30:25.771 TestApp[1744:f803] flickr id string: 5629026092
2012-05-26 13:30:25.773 TestApp[1744:f803] id: 2147483647
Почему звонит intValue
деформирующий фактическое число?
возможно дубликат [Преобразование строки в целое в Objective C, изменив значение] (http://stackoverflow.com/questions/10606281/ convert-string-to-int-in-object-c-change-the-value) –
Вы можете использовать NSInteger вместо int для хранения большего числа. – lnafziger