2009-03-16 2 views
10

저는 Cocoa를 처음 사용하며 Hillegass의 'Mac OS-X 용 코코아 프로그래밍'의 예제를 통해 작업하고 있습니다. 몇 시간 동안 작업 해본 샘플 응용 프로그램이 시작되어 다음과 같은 메시지가 나타납니다.코코아 - Xcode와 Interface Builder 간의 바인딩 문제를 디버깅하기위한 제안 된 기술

2009-03-11 00 : 39 : 19.167 CarLot [7517 : 10b] NSData를 만들 수 없습니다. object < _NSControllerObjectProxy : 0x188bf0> of _NSControllerObjectProxy

이 문제를 해결하는 방법을 찾은 유일한 방법은 인터페이스 작성기의 모든 바인딩과 특성을 통해 구성을 놓친 위치를 확인하는 것입니다. 모두 시간이 걸립니다!

오류 메시지의 문제점을 확인하는 더 효과적인 방법이 있습니까? 이러한 문제를 추적하는 데 사용할 수있는 디버깅 기술이 있습니까?

+0

이 질문은 내 질문에 질문했을 때 염두에 두어야 할 문제 중 하나입니다. http://stackoverflow.com/questions/623653/how-do-you-read-a-third-party-cocoa-project I 당신이 얻을 응답에 매우 흥미가 있습니다. – mouviciel

답변

3

This Article 매우 짧게 이것에 대해 이야기합니다.

기본적으로 Xib 파일을 살펴보면 앱에서 어떤 바인딩을 설정했는지 더 빨리 알 수 있다고 나와 있습니다.

희망 하시겠습니까?

+0

기사가 죽었습니다. –

+0

기사 링크가 업데이트되었습니다. http://www.speirs.org/blog/2007/12/5/what-are-xib-files.html –

1

인터페이스 빌더 자체에서 설정 한 바인딩 및 속성 요약을 가져 오는 방법이 있는지 잘 모르겠습니다. 내가 아는 한이 정보를 보여주는 유일한 gui입니다. 디버거에서 응용 프로그램을 실행하고 예외 (- [NSException raise])를 깨고 어떤 객체가이 오류를 제공하는지 추적 할 수 있는지 알아볼 수 있습니다. 이는 IB의 잘못된 연결을 찾는 데 도움이 될 수 있습니다.

응용 프로그램이 충분히 작고 빌드가 빠르며 IB와 바인딩을 사용하기 시작한 경우 하나의 연결을 만들고 테스트하여 작동하는지 확인한 후 다음으로 넘어갈 것을 제안합니다. 그렇게하면 어떤 연결이나 속성이 문제를 일으키는 지 알 수 있습니다.

나는 누군가가 이보다 더 나은 대답을 가지길 희망하지만, 내가 아는 한, IB 연결 문제를 확인하고 핀 포인트하는 도구는 없다.

0

바인딩을 interfacebuilder에서 프로그래밍하는 대신 프로그래밍 방식으로 수행하면 어떻게됩니까?

- (void)bind:(NSString *)binding toObject:(id)observableController withKeyPath:(NSString *)keyPath options:(NSDictionary *)options

0

한 당신이 개체의 연결 관리자를 보면이었다 처음에 통보하지 않은 것은, 그것은 보여줍니다

는 NSObject의이 방법을 사용할 필요가 이렇게하려면 그것이 바인딩 된 모든 좋은 목록이며, 항목 위로 마우스를 가져 가면 해당 요소가 강조 표시됩니다.

테이블 열에 뭔가를 다시 바인딩 할 때 유용합니다.

11

바인딩 문제 해결에 대한 Apple Dev 사이트의 멋진 기사가 있습니다.

http://developer.apple.com/mac/library/documentation/cocoa/conceptual/CocoaBindings/Concepts/Troubleshooting.html

주요 테이크 아웃? 디버그 정보를 얻는 데 사용할 수있는 NSBindingDebugLogLevel이라는 설정이 있습니다.를 설정하는

두 가지 방법 :

1 - 때 매개 변수로 전달 - 영구적으로 기본 설정에서이

기본값은 com.yourdomain.yourapplication NSBindingDebugLogLevel 1

2 쓰기 디버그

경로/your/app-NSBindingDebugLogLevel 1

관련 문제