이 주제에 대해 게시 된 각 질문을 살펴 보았지만 해결 방법을 찾지 못했습니다. 내 프로젝트는 dev 라이브러리에서 AVPlayer 데모 응용 프로그램을 광범위하게 복제합니다 (제거 기능 제외). 클래스 (이름이 YOPlaybackView
로 바뀜)와 연결된 컨트롤러가 있고 매우 유사한 xib (제거기 제외). 내보기 컨트롤러 코드는 데모의 패턴과 매우 유사합니다 (코드 차이는 간략히하기 위해 아래에 게시 됨).또 다른 - "인스턴스로 보내지는 인식 할 수없는 셀렉터"문제
-
내가보기 컨트롤러가
중복되지 않았는지 콘센트을 한
- 파일의 소유자 입니다
dealloc
에 중단 점을 넣어 유효한 인스턴스 인 것을 확인했다
플레이어의 현재 항목이 변경되거나 변경되면 observeValueForKeyPath
메서드에서 오류가 발생합니다. "- [UIView의 SetPlayer :]"다음 줄 오류 준다 난 그냥 이전이 호출에 해당 뷰의 인스턴스를 생성하는 경우, 인식 할 수없는 선택기 인스턴스에 전송 ... "
[playbackView setPlayer:player];
을 나는 돈
YOPlaybackView* vw = [[YOPlaybackView alloc] init];
[playbackView setPlayer:player];
펜촉 게으른 로딩 함께 할 수있는 뭔가가 될 수 있음을 날 것으로 보인다 (및 인스턴스를 생성하는 것은 삶에 차기)
디버거 창에서 보면 '는 t는 오류가 발생합니다. playbackView는 (사용되지 않은) 인스턴스를 생성하는 추가 행을 사용하거나 사용하지 않고 유효해야합니다.사람이 내 객체/응용 프로그램 라이프 사이클 지식을하시기 바랍니다 진행 도와 드릴까요?
편집 - IB 코멘트
을 포함하는 제안 된 답변에 대한 응답으로 이것은 관리자의 뷰 계층 및 올바른 이름의 사용자 정의보기를 보여주는 IB의 스냅입니다.
편집 - 응답 유효 SetPlayer에 대해 의문을 제기하는 문제의 클래스는 다음과 같습니다
뷰 :
@class AVPlayer;
@interface YOPlaybackView : UIView
@property (nonatomic, retain) AVPlayer* player;
- (void)setPlayer:(AVPlayer*)player;
@end
및 IMPL :
@implementation YOPlaybackView
+ (Class)layerClass
{
return [AVPlayerLayer class];
}
- (AVPlayer*)player
{
return [(AVPlayerLayer*)[self layer] player];
}
- (void)setPlayer:(AVPlayer*)player
{
[(AVPlayerLayer*)[self layer] setPlayer:player];
}
@end
편집 - 출력 로그
2013-07-23 12:05:39.084 iOSVideoPlayerExample[8331:14003] Unknown class YOPlaybackView in Interface Builder file.
2013-07-23 12:05:39.956 iOSVideoPlayerExample[8331:14003] Unbalanced calls to begin/end appearance transitions for <YOMasterViewController: 0x985aa10>.
2013-07-23 12:05:40.428 iOSVideoPlayerExample[8331:14003] <UIView: 0x8383900; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x8381710>>
2013-07-23 12:05:40.429 iOSVideoPlayerExample[8331:14003] -[UIView setPlayer:]: unrecognized selector sent to instance 0x8383900
(lldb)
''YOPlaybackView' 서브 클래스에 유효한'setPlayer' 메소드가 있습니까? – Rog
지금 첨부 할 수 있습니다. – johnyu
클래스 선언 및 구현을 편집 - 감사에 추가했습니다. – eggfish