메시징 시스템 -C는 동적입니다. 모든 객체에는 런타임에서 내성을 위해 사용하는 정보가 포함 된 struct
이 포함됩니다. 여기서 런타임은 객체가 응답 할 수있는 메소드 목록을 찾습니다. 자, 인스턴스 이런 식으로 메시지를 가정 해 봅시다 :
[mynewview someMethod];
런타임 먼저 메시지를 응답 할 수 있습니다 몇 가지 방법을 찾기 위해 노력에 오브젝트 정보를 확인합니다. 아무것도 찾지 못하면 수퍼 클래스를 쿼리합니다. 실제로 런타임은 훨씬 복잡하며 모든 객체에 응답 할 수있는 기회가 더 많습니다 (동적 인 부분입니다). 예를 들어 mynewview
에는 someMethod
이라는 메서드가 없을 수도 있지만 호출을 만족시킬 수는 있지만 그게 뭔가입니다. 당신은 지금 걱정하고 싶지 않을지도 모릅니다).
[super someMethod];
경우 someMethod
입니다 : 당신이 키보드 super
에 주어진 방법의 슈퍼 클래스 구현을 호출 할 수 있습니다 myviewcontroller
의 서브 클래스는 mynewview
그래서 만약 당신이 mynewview
에서 myviewcontroller
구현을 호출 할 수있는 자식 클래스에서
모두
myviewcontroller
과
mynewview
에있는 경우 런타임은 자동으로 하위 구현 만 호출하므로 하위 구현에서 상위 구현 (필요한 경우)을 호출해야합니다.
덕분에 도움이되었습니다. 올바른 방향으로 조금 움직여야했습니다. –