Проблемы с NSNumber

Эй, ребята, я создаю твик для Instagram, я добавляю суб-предпочтение, называемое instatroll, похожее на trolltwitter, чтобы изменить число подписчиков на любое число, которое пользователь устанавливает (используя PSEditTextCell). Вот мой код.

#import <Foundation/Foundation.h>
static NSMutableDictionary *plist = [[NSMutableDictionary alloc]     initWithContentsOfFile:@"/var/mobile/Library/Preferences/com.idevicelover.InstaEnhancer.plist"];NSNumber *chosenNumber = [NSNumber numberWithInt:999];
int number = chosenNumber;
static BOOL followerson = NO;%hook IGUser -(void)setFollowerCount:(NSNumber*)fp8{
followerson = [[plist objectForKey:@"followerson"]boolValue];
if(followerson){

%orig(number);
}
else{
%orig;
}
}%end%ctor
{

NSDictionary *InstaEnhancer = [[NSDictionary alloc] initWithContentsOfFile:@"/var    /mobile    /Library/Preferences/com.idevicelover.InstaEnhancer.plist"];
if ([InstaEnhancer objectForKey:@"numberoffollowers"]) number = [[InstaEnhancer objectForKey:@"numberoffollowers"] intValue];
[InstaEnhancer release];

}

я получаю эту ошибку при компиляции: «присваивание NSNumber * от несовместимого типа» int «

-3

Решение

NSNumber это объект. Чтобы использовать его в качестве примитивного типа данных, таких как intВы должны извлечь этот тип значения из него с помощью соответствующего метода:

NSNumber *chosenNumber = [NSNumber numberWithInt:999];
int number = [chosenNumber intValue];

Также позже здесь:

number = [[InstaEnhancer objectForKey:@"numberoffollowers"] intValue];

Если в этот момент number является int (Понятия не имею, так как этот синтаксис не C ++ или Objective-C), тогда это должно быть хорошо. Но если number имеет тип NSNumber *тогда вам нужно сбросить вызов intValue:

number = [InstaEnhancer objectForKey:@"numberoffollowers"];
1

Другие решения


По вопросам рекламы [email protected]