2014-09-02 1 views
0

에 나는이 코드 조각을 작성했습니다. 유일한 문제는 모든 인증서가 개발 인증서를 사용하여 빌드 할 때 생산/임시 인증서를 사용할 때 충돌이 발생한다는 것입니다.아이폰 OS 포인터 포인터 NSMutableDictionary

오류는 세그멘테이션 오류 11입니다. 이는 내가 아닌 메모리를 사용하고 있다고 말합니다. 이해가 안되네 ...

그래서 질문은 "왜 생산/임시 인증서를 내 프로그램 충돌을 수행하고 왜 내 코드가 올바르지 않습니다 사전에

감사합니다,

+4

질문은 : 포인터를 포인터로 전달하는 이유는 무엇입니까? : o –

+0

또한, @ ([[message getPropertyValue : key] floatValue])'는 무엇입니까? 완전히 중복되고 읽을 수 없으며 불필요합니다. –

+0

@ TheParamagneticCroissant이 라이브러리를 사용하는 사람은 다소 읽을 수 없습니다. 질문의 요점 옆에 있습니다. – Haagenti

답변

1

? 나는 그것이 (NSMutableDictionary * __autoreleasing *) 매개 변수의 사용에 생각이 필요하지, 그리고 나는 NSMutableDictionary이 overreleased 할 일으키는 같은데요 그것은 더 나은 기록 될 것입니다 :..

NSMutableDictionary* stats = [NSMutableDictionary new]; 
NSArray* keys = @[@"Yellow", @"Red", @"Matches"]; //etc. 
for(NSString* k in keys){ 
    NSNumber* value = [message getPropertyByPath:k]; 
    if (value) { 
     [stats setObject:value forKey:k]; 
    } 
} 
_statistics = [statistics copy]; 

그것은 아마도에서 무언가에 의해 트리거 것 차이 내기 디버그 및 릴리스 빌드 빌드.

+0

포인터 포인터의 사용이 올바르지 않습니다. 나는 이것을 고쳤다. 그리고 다른 무언가에 의해 방아쇠를 당기는 것에 대한 진술은 사실 일 가능성이 큽니다. 그러나 이것을 어디에서 찾을 수 있습니까? 그래서 생산과 개발의 차이점을 알 수 있습니다. – Haagenti