NSInteger
не является типом объекта, это просто typedef для int
или long
(зависит от того, является ли ваше приложение 32- или 64-разрядным):
#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
#else
typedef int NSInteger;
#endif
(из документов )
Следовательно, вы можете написать это как:
NSInteger bValue = [progressIndicator doubleValue];
Вы получаете сообщение об ошибке, поскольку вы объявляете bValue
в качестве указателя на NSInteger
, но пытаетесь инициализировать его двойным значением.