그래서 나는 지금까지 해결할 수 없었던 산발적 인 문제가있는 것처럼 보입니다. 겉으로보기에 무작위 점에 기능은 다만 끊을 것이다, 어떤 난조 다음에 논쟁은 타락하기 시작된다. Objective-C의 함수 호출을 통해 인수 값이 손상되었습니다.
Object * testObject = [[Object alloc] init];
NSLog(@"ID: %d", testObject);
[testFunction:testObject];
...
- (void) testFunction:(id)testObject
{
NSLog(@"ID: %d", testObject);
이 내가 전달 된 참조를 사용하는 갈 때 나에게 EXC_BAD_ACCESS 경고 또는 기타 다양한 문제를 제공, 일치하지 않을 것이다이 경우 로그 문을 어떻게 예를
를 들어. 그래서처럼 호출 후
- (void) testFunction:(id)testObject:(int)dummy
{
과 :
[testFunction:testObject:1111];
내 기능 경기를 선언의
은 가끔과 같이 기능에 '더미 값'에 시침하여 문제를 해결할 수 있습니다 .h/.m 파일에서 추측 할 수있는 유일한 점은 프로젝트의 다른 곳에서 .h 파일의 해당 함수 선언이 누락되었을 가능성이 있습니다. 그러나 문제의 기능은 항상 올바르게 수행됩니다. (더블, 트리플 체크 등). 나는 그것이 유지/릴리스 이슈가 아니라는 것을 알고 있습니다. Objective-C에 비교적 익숙하지 않은 데요. 나는 그 누수가 있었고, 누수를 찾고 계기를 통해 도망 쳤고 아무 것도없는 것으로 보입니다. 이 문제의 원인에 대한 생각은 무엇입니까? 프로젝트에서 전혀 관련없는 코드를 겉으로보기에는 변경 한 후에 문제가 나타나는 이유는 무엇입니까?
는 NSLog 문에서 '%의 @'대신'%의 d'를 사용해보십시오. – EmptyStack
여러 가지 방법으로 문제가 발생하고 있습니까? 테스트 프로젝트로 이것을 재현하려 했습니까? 또한 질문에 실제 코드를 넣는 것이 가장 좋습니다. 게시 한 스 니펫은 유효하지 않으며 문제를 진단하는 사람을 돕지 않습니다. –
목적과 목적에있어 서로 다른 방법과 기능을 사용하지 마십시오. 매우 다른 것들입니다. – jrturton