2010-06-10 3 views
2

이것은 상황입니다. 저는 C++ 프로그래머였습니다. 나는 추상적 인 클래스와 "인터페이스"를 좋아하므로 objc를 사용하여 동일한 작업을 수행한다.클래스에 대한 경고 무시 (objc의 Abstract 클래스를 시뮬레이트하려고 시도)

는 내 인터페이스의 프로토콜을 사용하지만, 문제는 내 추상 클래스는 프로토콜에서 상속 때 같은 경고를 얻을 (내가 여기를 구현하지 않으려는)이다 :

경고 :위한 방법 정의 'XXXXX'이 (가) 발견되지 않고 'XXXXX'클래스가 'XXXXXX'프로토콜을 완전히 구현하지 않습니다.

어쨌든 이것을 억압합니까? 기본 클래스가 프로토콜을 구현하지 않은 경우이 클래스의 하위 클래스가 "올바른 경고"를 표시하기를 바랍니다.

또 다른 옵션은 필요한 경우 프로토콜에서 상속하는 것입니다.하지만 기본 클래스에서 강제로 상속하여 인터페이스를 구현하도록하고 싶습니다.

팁이 있습니까? 미리 감사드립니다.

답변

1

나는 당신이 찾고있는 방법으로 해결책이 있다고 생각하지 않습니다. 프로토콜에서 선언 된 모든 메소드를 정의해야하며 적어도 빈 메소드로 구현해야합니다.

나는 C++과 같은 코드를 찾고 있지만 Obj-C는 다르다는 것을 알고 있으며 함께 살아야합니다. 또한 gcc는 C++/obj-c mix를 지원하므로 순수한 C++에서 프로젝트의 일부분을 작성할 수 있습니다.이 코드는 저수준 코드가 필요하거나 포팅하기 쉬운 것이 필요할 때 유용합니다.

2

Objective-C 클래스에서 프로토콜을 구현할 때는 모든 메서드를 구현해야합니다. 그러나 스텁 구현을 제공 할 수 있습니다. 이 mailing list post은 "abstract"클래스에서 doesNotRecognizeSelector:을 사용하는 방법을 설명합니다.

관련 문제