xcode 컴파일러 문제 - 매개변수 유형 식별 오류, EXCBAD_ACCESS

iOS 프로젝트를 디버깅하는 동안 다음과 같은 이상한 문제가 발견되었습니다.
-(void) getLoadPageCommentAndTopicVid:(long long)vid cid:(long)cid site:(long)site title:(NSString*)title videoUrl:(NSString*)videoUrl more:(BOOL)more commentGetCommpletionBlock:block commentGetFailtureBlock:block{
}

이 함수를 호출할 때 EXC 가 나타납니다BAD_ACCESS;콘솔 비트에서 다음을 수행합니다.
* thread #1: tid = 0x2503, 0x32b59522 libobjc.A.dylib`objc_retain + 2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x2)     frame #0: 0x32b59522 libobjc.A.dylib`objc_retain + 2     frame #1: 0x32b67b86 libobjc.A.dylib`objc_storeStrong + 22   * frame #2: 0x0006f978 xxxxxx`-[AppDelegate(self=0x1dd71420, _cmd="getLoadPageCommentAndTopicVid:cid:site:title:videoUrl:more:commentGetCommpletionBlock:commentGetFailtureBlock:", vid=8500161, cid=6, site=0, title=0x00000000, videoUrl=0x0c29a000, more=YES,commentGetCommpletionBlock=, commentGetFailtureBlock=0xc0bf00bc) 
창고 알림에 따라 Block 매개 변수를 읽는 데 문제가 있으면 나중에 Block을 자세히 찾아보기;Block 정의에 문제가 없음을 발견했습니다.나중에 매개 변수의 위치를 정하고 드디어 vid 매개 변수,site 매개 변수의 문제를 정합니다.만약 site 매개 변수가 0을 전달한다면, 이 함수를 호출할 수 있으며, 1 (0이 아닌) 호출이면 위의 충돌이 발생할 수 있습니다.
[추측]: xcode 컴파일러가 이 int를 바늘이나 다른 형식으로 삼아 뒤에 있는 매개 변수의 읽기 오류를 초래할 수 있습니다.첫 번째 파라미터가 롱롱인 것 같은데 문제가 있을 것 같아요.
【해결】:vid,site 매개 변수를 대상으로 합니다.롱롱 대신 NSNumber*를 사용하십시오.NSInteger로 해결

좋은 웹페이지 즐겨찾기