2012-06-05 3 views
0

매우 이상한 문제입니다. self.shoppingListFilter = newShoppingFilter이 변수를 설정하지 않는 몇 가지 이유를 들어멤버 변수를 설정할 수 없습니다.

NSDictionary* notificationUserInfo = [pNotification userInfo]; 
NSManagedObject* newShoppingFilter = [notificationUserInfo valueForKey:@"shoppingListFilter"]; 
self.shoppingListFilter = newShoppingFilter; 
NSLog(@"%@ tapped", [newShoppingFilter valueForKey:@"name"]); 

:

나는 다음과 같은 코드가 있습니다.

나는 self.shoppingListFilter 변수를 어떤 식 으로든 초기화하지 않았다고 생각하지만이 사실을 알 수는 없다. NSLog는 올바른 출력을 보여주고 newShoppingFilter는 null이 아니지만 self.shoppingListFilter는 null입니다.

도움을 주시면 감사하겠습니다.

+0

원래 'shoppingListFilter'가 코드에서 어떻게 선언되고 있습니까? 또한,'[notificationUserInfo valueFoeKey : @ "shoppingListFilter"]'not null입니까? – esqew

+0

어쩌면 내가 어리 석고 objective-c 작동 방법을 모르지만 프로퍼티 (strong, nonatomic)로 my.h의 shoppingListFilter를 선언 할 수 있습니다. NSManagedObject * shoppingListFilter; 내 .m 파일에서 합성하십시오. 나는 문제가 될 수있는 곳 어디에서도 초기화하지 않는다. @esqew – nazbot

+0

재산을 합성 했습니까? – dtuckernet

답변

1

나는 newShoppingFilter가 nil이라고 확신한다. 대부분의 경우 알림 사용자 정보 사전에 "shoppingListFilter"키가 없습니다.

self.shoppingListFilter에 값을 할당하는 줄에 중단 점을 설정하고 newShoppingFilter 값을 확인하십시오. 또한 notificationUserInfo의 전체 내용을 표시하십시오.

사용자 정보 사전을 생성하고 게시중인 알림에 전달하는 코드를 게시하십시오. 그러면 문제를 추적하는 데 도움이됩니다.

+0

질문의 본문은'NSLog()'는'newShoppingFilter'가 유효한 객체라는 것을 나타냅니다. –

관련 문제