나는 내 프로젝트에 문제가 있었다 과 같이, 사용 :아이폰 OS, NSMutableDictionary
:이했을 때DataDict = [[NSMutableDictionary alloc]init];
것은 지금, 나는이 사전에 무언가를 추가하려고 분은이 오류 메시지를 얻을 것 16,
- [__ NSDictionaryI의 setObject : forKey :] : 51 : 56.040 테스트 [2297 : C07] 미정 선택기 인스턴스 0x885ae60 2012년 10월 19일 (16)에 전송 애플리케이션을 종료 * 의한 캐치되지 않는 예외 'NSInvalidArgumentException'에 이유 : '- [__ NSDictionaryI 의 setObject : forKey :] : 인식 할 수없는 선택 예를 0x885ae60로 전송'잠시 후 내 프로젝트를 통해 천 번을 실행
, 내가 지금처럼, 내 초기화 행의 주석을 해제하기로 결정
//DataDict = [[NSMutableDictionary alloc]init];
그리고 문제가 해결되었습니다.
제 질문은 : 이유가 무엇입니까?
감사합니다. – Kalamantina
그렇다면 참조를 강하게 만들고 init을 할당해야합니까? 또는 init을 할당 할 필요가 없도록 강력하게 만들 수 있습니까? – Kalamantina
'강력한'상태로 만들면 해당 객체와 강력한 관계를 유지하기를 원한다는 의미입니다. 기본적으로 소유자가 할당을 해제 할 때 할당을 해제하려고 함을 의미합니다. 항상 객체를 할당/초기화해야합니다. – Alladinian