2014-06-15 4 views
-3

안녕 얘들 아 나는 instagram을위한 비틀기를 만들고있어 사용자가 (PSEditTextCell을 사용하여) 설정 한 팔로워 수를 변경하기 위해 trolltwitter와 비슷한 instatroll이라는 하위 환경 설정을 추가하고있다. 컴파일 할 때NSNumber와 관련된 문제

#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 "를

+0

난 당신의 코드에서 무슨 일이 일어나고 있는지 모르는 ... 1 것은 어쩌면 목표 - C 또는입니다 objective- C++하지만 확실히 C++이 아니며'% end'는 렉스가 맞지 않습니까? –

+0

이것은 거의 Objective-C이지만 Objective-C는 이상하게 보입니다. 일반적으로, 우리는'@ end'을 확실히 볼 수는 있지만'% hook','% orig','% ctor'가 어떤 것인지 전혀 모른다. 그러나 실제 문제는'NSNumber'에 있기 때문에 [ tag : foundation] 태그는 적절합니다. 왜냐하면'NSNumber'가 당신이 사용하는 언어에 상관없이 확실히 벗어 났기 때문입니다. – nhgrif

+0

% 훅, % orig, % end, % ctor 이상은 [logos] (http://iphonedevwiki.net/index.php/Logos)에 대한 지시어이며, 조정 작업을 간소화하는 전 처리기입니다. Theos는 테오의 구성 요소입니다. 테그가 존재하는 이유입니다 (테오 스는 OS가 아니라 빌드 환경). – uroboro

답변

1

NSNumber 개체 수있는 기본 데이터 유형으로 사용하기 위해 이러한 int한다. , 적절한 방법으로 그 유형의 가치를 끌어 내야합니다 :

나중에, 여기 또한
NSNumber *chosenNumber = [NSNumber numberWithInt:999]; 
int number = [chosenNumber intValue]; 

:이 시점에서 number 인 경우

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

int (이 구문은 C++ 또는 오브젝티브 C 아니므로 내가 단서가 없다) 다음이 괜찮을 . number 유형 NSNumber *의 경우 그러나, 당신은 intValue에 전화를 드롭해야합니다

number = [InstaEnhancer objectForKey:@"numberoffollowers"]; 
+0

이제 rvalue "int"유형의 nsnumber * 매개 변수를 초기화 할 수 없습니다. ( – user3551278

+0

나는 실수를 사용하여 기판을 조작하고있다. – user3551278

+0

@ user3551278, 붙여 넣기 서비스를 사용하여'make clean all messages = yes'의 출력을 게시한다. 이것은 보통 다른 사람들에게 당신을 도울 수있는 더 많은 컨텍스트를 제공한다. – uroboro