2011-10-10 3 views
0

변경하지 않고 Xcode 4에서 오류가 발생했습니다. 오류의 스크린 샷이 첨부되어 있으며 여기에 문제의 원인이되는 것으로 의심되는 코드가 있습니다. 당신이 할 수 있다면이 오류를 얻고있다 이유는 확실하지 않다, 나 좀 도와주십시오NSInternalInconsistency 예외 - findPlaylistByID가 잘못되었습니다 - 그게 무슨 뜻입니까?

e- (void)fetchVideoInfoForPlaylist:(id)aDict { 
BrightcoveDemoAppDelegate *delegate = (BrightcoveDemoAppDelegate *)[[UIApplication sharedApplication] delegate]; 
BCMediaAPI *bc = delegate.bcServices; 
PlaylistCacheObject *playlistCacheObj; 
BCPlaylist *playlist = (BCPlaylist *)[aDict objectForKey:PLAYLIST_DICT_KEY]; 
UITableViewCell *cell = (UITableViewCell *)[aDict objectForKey:CELL_DICT_KEY]; 
NSNumber *key = [NSNumber numberWithLong:playlist.playlistId]; 

if ([playlistCache objectForKey:key]) { 
    playlistCacheObj = [playlistCache objectForKey:key]; 
} 
else { 
    // request, stash in cache 
    NSError *err; 
    playlist = [bc findPlaylistById:playlist.playlistId videoFields:[NSArray arrayWithObjects:@"thumbnailURL",nil] playlistFields:[NSArray arrayWithObjects:@"videos", @"thumbnailURL",nil] customFields:nil error:&err]; 
    if (!playlist) { 
     [[ErrorHandlerService sharedInstance] logMediaAPIError:err]; 
    } 
    else if (playlist.videos && [playlist.videos count] > 0) { 
     [playlist.videos objectAtIndex:0]; 

     // fetch the thumbnai for the first video 
     NSString *imageURL = [playlist thumbnailURL]; 
     UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageURL]]]; 
     playlistCacheObj = [[[PlaylistCacheObject alloc] initWithData:playlist image:image] autorelease]; 
    [playlistCache setObject:playlistCacheObj forKey:key]; ; } 

    }  

CRASH LOG SCREENCAP

+0

충분하지 않습니까? – JoshD

답변

0

을 주장가 BCPlaylistReadService하지 PlaylistTableViewController에서 발생되고있다. 거기에 NSAssert이 있다고 의심됩니다. 나는 이것으로부터 playlist 또는 playlist.playlistIdnil 인 것을 추측 하겠지만, 어쨌든 playlist.playlistId은 어설 션 노트처럼 유효하지 않을 수도 있습니다.

+0

NSAssert를 어떻게 처리 할 것을 제안합니까? – JoshD

+0

Xcode와 iOS를 업그레이드했기 때문에 어떤 코드도 변경하지 않았습니까? – JoshD

+0

잘못된 것을 전달 중입니다. Playlist 또는 playlist.playistId가 nil 일 수 있습니다. 불평하는 코드에서 버그를 수정하여 NSAssert를 처리합니다. –

관련 문제