내가 NSTimer scheduledTimerWithTimeInterval에 대한 간접 포인터를 전달하기 위해 노력하고있어 함께 NSTimer scheduledTimerWithTimeInterval 포인터 - 투 - 포인터를 전달하는 방법은 다음과 같습니다 :ARC
-(void)assignResultAfterDelay:(Result **)resultPtr {
[NSTimer scheduledTimerWithTimeInterval:1000
target:self
selector:@(assignResult:)
userInfo:resultPtr // how to do this?
repeats:NO];
}
이 '아무튼 대상 : 선택 : 사용자 정보 : 반복 Objective-C 포인터에 대한 간접 포인터의 'id'로의 암시 적 변환 오류를 제공하는 (Result * __strong *)에서 id 로의 캐스트로 인해 작업하지 않습니다.
(__bridge id)resultPtr
과 같은 변형 된 캐스트와 변형 된 조합, objc_unretainedPointer(resultPtr)
을 사용하거나 포인터 유형을 (Result * __weak *)
으로 변경해도 도움이되지 않았습니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?
내 간접 포인터를 보유하고 그 인스턴스를 보내는 래퍼 클래스를 만들 수는 있지만 추한 것처럼 보입니다. 그것을 할 수있는 더 좋은 방법이 있습니까?