CLOSE SEARCH

배열을 초기화할 때 EXC_BAD_ACCESS 오류가 발생한다면?

다음 코드를 사용해서 배열을 초기화하면 에러가 발생합니다.

이유가 무엇일까요?

“Movies”에 해답이 있습니다.

NSArray에 추가할 수 있는 것은 Objective-C 객체로 한정됩니다. 그런데 “Movies”는 char*(또는 const char*)로 표현되는 C 문자열입니다. 문자열 앞에 @을 붙여 Objective-C 문자열 객체로 만들어 주어야 정상적으로 동작합니다.

막상 이런 오류를 만나면 문자열 앞에 @이 빠졌다는 것을 발견하기가 의외로 어렵습니다. 프로그램이 배열을 초기화하는 위치에서 오류를 발생시킨다면 @이 빠진 문자열은 없는지, 올바른 객체를 추가했는지 확인해 본다면 오류 해결!!

Filed under: iOS, Troubleshooting