2013-08-20 6 views
-1

좋아요, 그래서 저는 마지막 게시물의 제한을 둘러보기위한 아이디어를 생각했습니다 (이 글을 읽는 사람은 누구나 읽을 수 있습니다). 내가해야할 일은 응용 프로그램 배지 번호가 0보다 큰지 여부를 감지 한 다음 큰지 여부에 따라 부울을 설정합니다. 여기 내 코드는 다음과 같습니다.부울 번호에 따른 부울

Code is no longer relative to the question. 

부울을 설정합니다. 다음 나는 그것을 읽고이 코드와 내 행동을 실행

Code is no longer relative to the question. 

내 유일한 문제는 배지 번호가 무엇인지에 상관없이, 그것은 숫자조차하면 내 코드를 실행하지 않습니다 다음 1이고 말한다이다 누구나 내가 뭘 잘못하고 있는지 알 겠어? 그것은 다른 진술 또는 배지 번호를 감지하는 방식입니까? 어떤 도움을 주셔서 감사합니다! 이것이 내 앱에서 히트 한 유일한 벽이기 때문에 나는 이것에 대해 정말로 강조했다.

편집 : 문제점을 수정했으며 아래 코드를 사용했습니다. 이것은 반드시 애플 리케이션 델리게이트 내부에 있어야합니다.

int badge = application.applicationIconBadgeNumber; 
if(badge) 
{ 
    NSLog(@"App Badge is Greater Than 0"); 
} 
    else 
{ 
    NSLog(@"App Badge is Equal To 0"); 
} 
+0

'appDidBecomeActive'란 무엇입니까? 나는 당신이 어떤 통지에 대한 선택자로 그것을 어디에 등록하는지 보지 못합니다. 절대로 불리지 않는다. 또한 불리언 값에 'YES'이외의 값을 설정하는 부분은 표시되지 않습니다. –

+0

그것이 호출됩니다 (디버거에서 보았습니다). 나는 그 부분을 게시하지 않았습니다. AppDelegate.m 파일에 있습니다. –

답변

0

좋아을, 내가 발견 코코아를 사용하여 책을 읽은 후 내 자신의 질문에 대한 대답. 여기에 내가 무슨 짓을 :

int i = application.applicationIconBadgeNumber; 
int y = 0; 
NSLog(@"The result is %@", (y<i ? @"True" : @"False")); 
if(i) 
{ 
    NSLog(@"App Badge is Greater Than 0"); 
} 
else 
{ 
    NSLog(@"App Badge is Equal To 0"); 
} 

당신은 넣어 그 아래 - (무효) applicationDidBecomeActive : (UIApplication *) 응용 프로그램입니다. 이 코드는 앱의 아이콘 배지를 비교하여 y보다 큰 경우 (내 경우 0)보고 배지 번호에 따라 true 또는 false를 반환합니다. 희망이 다른 사람을 도와주세요!

편집 : 위의 게시물을 읽으십시오. 이 코드는 훨씬 단순한 버전입니다.

0

일반적으로 NSUserDefaults을 사용하여 응용 프로그램의 호출에서 값을 지속적으로 저장합니다. 난 당신이 당신의 값을 설정 한 후 다음을 수행 NSUserDefaults을 사용하는 경우 실제로, (이유는 단지 Boolean needAutoSMS로 '글로벌'변수를 할당하지) NSUserDefaults를 사용할 필요가 확실하지 않다 동안 :

[[NSUserDefaults standardUserDefaults] synchronize] 
+0

동기화는 권장되지 않으며 변경 사항을 즉시 적용해야하는 경우에만 사용해야합니다. – Daniel