2016-06-06 3 views
0

내가 안으로 내 개체를 해제 한 후 나는이보기를 입력하고 내가 코드를 실행하려고하기 때문에 정말 빨리 다시 응용 프로그램 충돌을가는 경우에이 코드정지 asyncronous 작업 AVPlayer를

AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil]; 
NSArray *requestedKeys = [NSArray arrayWithObjects:kTracksKey, kPlayableKey, nil]; 
[asset loadValuesAsynchronouslyForKeys:requestedKeys completionHandler:^{   
    dispatch_async(dispatch_get_main_queue(), ^{ 
     Do things 

를 사용하여 lib에는 AVPlayer를을 사용하여 비디오를로드하고 내가 사용하는 것

수동으로 값을로드하라는 요청을 끝낼 수있는 방법이 있습니까?

+0

어이 해결책을 얻었습니까? 나는 똑같은 문제에 직면 해있다. – Ruchi

답변

0

@Ruchi

죄송합니다 답변으로이 추가하지만 난 아직 언급 할 수 그리고 내 사용자를 변경했다.

하지만 내가 끝내는 해결책은 페이지가 여전히로드 된 경우 나에게 보여주는 부울을 유지하는 것입니다. 그래서 코드에서 할 첫 번째 일은이 너무 당신을하는 데 도움이

AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil]; 
    NSArray *requestedKeys = [NSArray arrayWithObjects:kTracksKey, kPlayableKey, nil]; 
    [asset loadValuesAsynchronouslyForKeys:requestedKeys completionHandler:^{   
     dispatch_async(dispatch_get_main_queue(), ^{ 
      if (!self.loaded) return; 
      Do things 

희망을 확인하는 것입니다 - (void)viewDidAppear:(BOOL)animated

나는 self.loaded = YES;

을 설정하고 -(void)viewWillDisappear:(BOOL)animated에 나는 self.loaded = NO;

을 설정!

+0

당신은 당신 자신의 질문에 대답 할 수 있습니다! 여기에있는 정보는 주석에 포함되어야하는 것보다 훨씬 많습니다. 나는 단지 @ 언급과 미안한 선을 제거 할 것이다. – rbuddicom