ARC를 사용하는 동안 Unsynchronized의 대답 (Drawing waveform with AVAssetReader)을 적용하려고합니다. 주로 몇 가지 수정이 필요했으며 대부분은 발표문이었다. 좋은 답변에 많은 감사드립니다. iOS5 기기를 타겟팅하는 Xcode 4.2를 사용하고 있습니다.AVAssetReader 및 ARC가있는 웨이브 폼 그리기
하지만 모든 것을 불러내는 동안 끝에 한 문장에 갇혀 있습니다.
방법은 여기에 표시 :
나는 initWithMPMediaItem 클래스 헤더에 선언하는 방법이 있나요 때문에Automatic Reference Counting Issue. Receiver type 'UIImage' for instance message
does not declare a method with selector 'initWithMPMediaItem:completionBlock:'
, 정말 '돈 : 호출에
-(void) importMediaItem {
MPMediaItem* item = [self mediaItem];
waveFormImage = [[UIImage alloc ] initWithMPMediaItem:item completionBlock:^(UIImage* delayedImagePreparation){
[self displayWaveFormImage];
}];
if (waveFormImage) {
[self displayWaveFormImage];
}
}
나는 다음과 같은 오류가 initWithMPMediaItem하기 왜이 오류가 발생하는지 이해하지 못합니다.
- (id) initWithMPMediaItem:(MPMediaItem*)item
completionBlock:(void (^)(UIImage* delayedImagePreparation))completionBlock;
몇 시간 동안 내 머리를 감싸려고했지만 아무 소용이 없습니다. 이 메서드는 내 메서드 선언이 잘못 되었습니까? 감사!
주요 문제는 당신이있는 UIImage에 initWithMPMediaItem를 호출하는 것입니다. 그것은 클래스 (나는 당신이 우리에게 선언 된 헤더를 보여줄 때까지는 알 수 없다)에서 클래스의 메쏘드로 선언되기 때문에 자기 자신 (나는 UIImage가 아니라고 가정)에 호출 될 것으로 기대하고있다. UIImage 범주에 있으면이 메서드가 어떻게 작동 할 것인지 결정해야합니다. – sosborn