2016-07-07 4 views
-2

1. 객관적인 C의 역방향 오디오 기능을 신속하게 변환하여 신속한 코드를 내 프로그램에 통합 할 수 있지만이 몇 줄의 코드는 이해할 수 없습니다.이 objectiveC 코드를 swift로 변환 할 수 없습니다.

2.이 다음과 같은 목표 - C 코드 :

CMSampleBufferRef sample; 

    NSMutableArray *samples = [[NSMutableArray alloc] init]; 

    while (sample != NULL) { 
    sample = [readerOutput copyNextSampleBuffer]; 

    if (sample == NULL) 
     continue; 

    [samples addObject:(__bridge id)(sample)]; 

    CFRelease(sample); 
    } 

답변

2

당신이로 스위프트로 변환 할 수 있습니다 보여 주었다 코드 :

var samples: [CMSampleBuffer] = [] 
while let sample = readerOutput.copyNextSampleBuffer() { 
    samples.append(sample) 
} 
+0

당신에게 너무 감사합니다, 나는 그냥 CFRelease이 아님을 읽고 있었다 필요한 것 더 이상 에드가 왜 그걸 이해하지 못하니? –

+0

아마도 ARC에 대해 들어 보셨을 것입니다. Swift ARC는 NSObject뿐 아니라 CF 객체도 처리 할 수 ​​있습니다. CFRelease에 대해 걱정할 필요가 없습니다. 대부분의 경우 모든 CFRelease를 제거하면 효과가 있습니다. – OOPer

+0

@Per oh 대단히 감사합니다. –

관련 문제