문제

배경:

CS193P 과정에서 "Hellopoly"과제를 시도하고 있습니다. .xib 파일과 사용자 정의 컨트롤러 클래스를 만들었습니다.

나는 어떤 방법도 살지 않았다 - 나는 IB가 클래스 파일을 Xcode에 작성하도록 허용했다.

문제:

응용 프로그램을 시작할 때마다 폭탄이납니다. gdb를 실행하면 exc_bad_access 오류가 나타납니다. 이것은 내가 존재하지 않는 메모리에 액세스하고 있다는 것을 의미합니까? 내가 가진 것은 IB와 메인에서 만든 기본 파일입니다. 더 이상 아무것도.

나는 다른 것이 무엇인지 확인하기 위해 게시 된 코드 솔루션을 확인했으며 다음에 무엇을 시도 해야할지 잘 모르겠습니다. 스타트 업에서 매번 앱이 충돌 할 때 일반적으로 무엇을 확인합니까?

스택 추적은 UIAPplicationMain을 만들 때 Main.m에서 일어나고 있음을 보여줍니다.

추적은 다음과 같습니다.

Program received signal:  “EXC_BAD_ACCESS”.
(gdb) where
#0  0x01b70d45 in CFHash ()
#1  0x01b741cf in __CFDictionaryFindBuckets1b ()
#2  0x01b72b0a in CFDictionaryGetValue ()
#3  0x00450535 in -[UIProxyObject initWithCoder:] ()
#4  0x0133886e in UINibDecoderDecodeObjectForValue ()
#5  0x013398c2 in -[UINibDecoder decodeObjectForKey:] ()
#6  0x00450b35 in -[UIRuntimeConnection initWithCoder:] ()
#7  0x0045101c in -[UIRuntimeEventConnection initWithCoder:] ()
#8  0x0133886e in UINibDecoderDecodeObjectForValue ()
#9  0x0133820a in UINibDecoderDecodeObjectForValue ()
#10 0x013398c2 in -[UINibDecoder decodeObjectForKey:] ()
#11 0x0044feab in -[UINib instantiateWithOptions:owner:loadingResourcesFromBundle:] ()
#12 0x00451fcb in -[NSBundle(NSBundleAdditions) loadNibNamed:owner:options:] ()
#13 0x002910a6 in -[UIApplication _loadMainNibFile] ()
#14 0x0029a82a in -[UIApplication _runWithURL:sourceBundleID:] ()
#15 0x00297b88 in -[UIApplication handleEvent:withNewEvent:] ()
#16 0x002936d3 in -[UIApplication sendEvent:] ()
#17 0x0029a0b5 in _UIApplicationHandleEvent ()
#18 0x0239eef1 in PurpleEventCallback ()
#19 0x01bb2b80 in CFRunLoopRunSpecific ()
#20 0x01bb1c48 in CFRunLoopRunInMode ()
#21 0x00291e69 in -[UIApplication _run] ()
#22 0x0029b003 in UIApplicationMain ()
#23 0x000026a8 in main (argc=1, argv=0xbffff000) at main.m:14

나는 다른 스레드 에서이 특별한 문제를 보지 못했지만, 내가 놓친다면 저를 단서 제발.

아이디어?

감사.

도움이 되었습니까?

해결책

XIB 파일을로드 할 때는 Nibdecoder에서 충돌합니다. 아마도 존재하지 않거나 초기화되지 않은 객체 나 속성에 대한 참조가있을 것입니다.

다른 팁

.xib 파일의 이름과 ININTBYNIBNAME 메소드의 이름을 확인하십시오. 아마도이 두 이름은 다릅니다.

방금 Teach -Yourself 책에서 비슷한 기본 iPhone 앱을 위해 이것을 해결했고, "앞에서 대신 @ 이후에 @를 잘못 배치했다는 것을 깨달았습니다. 오류:

animalSounds=[[NSArray alloc]initWithObjects: @"Oink","@Rawr",@"Ssss",@"Roof","@Meow",@"Honk",@"Squeak",nil];

디버그를 위해 브레이크 포인트 및 NSLOG 출력을 설정하는 Super Basic 메소드를 사용하여 사용했던 4 가지 변수 중 어느 것이 나사로 나은지 알아낼 수있었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top