2
현재 제가 연구하고있는 프로젝트는 많은 제네릭을 사용합니다. 와일드 카드를 사용하려고 할 때 문제가 있습니다.제네릭의 신속한 와일드 카드
자바에서 나는 수행 할 수 있습니다
public class testGeneric<T> {
}
public class testing {
public <T> void test (testGeneric<T> input) {
testGeneric<?> testOne = input;
}
}
을 오류없이.
Swift에서는 AnyObject를 사용하고있었습니다 (모든 객체의 기반이됨에 따라 같은 방식으로 사용할 수 있다고 가정했기 때문에).
그러나 다음 오류 발생 (특히 "T는 AnyObject 동일하지 않은")
class testGeneric<T> {
}
class testing {
func test <T> (input: testGeneric<T>) {
var testOne: testGeneric<AnyObject> = input
}
}
I 발견 조각 주위 검색 후 "와일드 카드 패턴"스위프트 (구체적으로 존재한다는 "_"). 그러나 이것은 generics에서 작동하지 않는 것처럼 보입니다.
이 주위에 방법이 있나요?
미리 감사드립니다.
이'AnyObject'이 구조체 및 프리미티브에 포함되지 않습니다. 대신에 Any 함수를 사용하여 함수를 제외한 모든 함수가 실행될 수 있지만 작동하지 않을지 확실하지 않습니다. – connor
@connor Any를 사용하여 시도했지만 불행히도 같은 문제가 있습니다. – Zenton
예. 대신 캐스트를 시도 할 수 있습니다. 'let var testOne : testGeneric = 다음 형식으로 입력 하시겠습니까? testGeneric {/ * code * /}'T가 함수 타입이면 –
connor