다음 개체를 메서드에 전달해야 메서드 메서드를 수정 한 후에 수정 된 개체로 이동할 수 있습니다.메서드에서이 값으로 어떻게 작업 할 수 있습니까? Object C
AVMutableCompositionTrack *compositionVideoTrack[2];
이 현재처럼 전달 :
[self buildShow:&compositionVideoTrack];
buildshow 방법은 다음과 같습니다
-(void)buildShow:(AVMutableCompositionTrack**)videoTracks{
}
나는이 컴파일러 경고를 얻고 있으며 현재 작동하지 않습니다 :
매개 변수에 'AVMutableCompositionTrack * __ strong (*) [2]'를 (를) 보내지 않는 호환되지 않는 포인터 유형 'AVMutableCompositionTrack * __ autoreleasing *'을 입력하십시오.
어떻게 작동합니까?
절대적으로 필요한 경우가 아니면 참조로 전달하지 마십시오. Locke의 대답은 나머지 프레임 워크의 디자인 철학과 더 잘 어울립니다. – bbum
내 계획은 메서드에 의해 수정 된 몇 가지 다른 개체를 가질 수 있으며 몇 번이나 메서드를 실행해야하므로 ref를 전달하면 필요한 부분을 완벽하게 처리 할 수 있으므로 주석을 달아 주셔서 감사합니다! – box86rowh
메서드에 의해 수정되는 몇 가지 다른 개체가있는 경우 다양한 개체를 포함하는 클래스를 만들고이를 관련시키는 논리를 제공하는 것이 좋습니다. 이것도 앞으로 리팩토링하기 쉬울 것입니다 (모든 단일 호출 사이트가 다중 arg-pass-by-reference-method로 변경되는 것이 아니라 클래스를 변경한다는 점에서). (iOS/Cocoa API를 살펴보면 매우 제한된 방식으로 참조로 전달됩니다). – bbum