예 자기 개체를 동일한 클래스 UIVIewController
의 개체로 호출 할 수 있으므로 문제가되지 않습니다.
는 여기에 우리가 카테고리가 필요한 이유를 좀 더 세부 사항은 다음과 같습니다
당신은 추가 방법을 정의하는 범주를 사용을 기존 클래스도 그 소스 코드를 서브 클래스없이-에 사용할 수없는 하나. 일반적으로 Cocoa frameworks
에 정의 된 것과 같이 기존 클래스에 메서드를 추가하기 위해 범주를 사용합니다. 추가 된 메소드는 하위 클래스에 의해 상속되며 런타임의 런타임에서 클래스의 원래 메소드와 구별 할 수 없습니다. 당신은 또한에 자신의 클래스의 범주를 사용할 수 있습니다 별도의 소스로 자신의 클래스의 구현을 배포
- 파일 - 예를 들어, 당신이 할 수 그룹 몇 가지 범주로 큰 클래스의 메서드와 각 카테고리를 다른 파일에 넣으십시오.
- 개인 메서드를 선언하십시오.
당신은 카테고리 이름으로 인터페이스 파일 에서 그들을 선언하고 같은 이름으로 구현 파일 에서 그들을 정의하여 클래스에 메서드를 추가 할 수 있습니다. 범주 이름은 메서드가 인 클래스에 대한 확장이 새 클래스가 아닌 다른 곳에서 선언 된 것을 나타냅니다.
은 그래서 당신은
category
로 작은 작은 조각 (파일)에
UIViewController
코드를 배포하고 클래스에서 호출 할 수 있습니다이 설명을 기반으로. 당신은 그래서 당신이 모든보기의 하위 클래스를 생성하고 각각의 클래스와에 관련된 코드를 작성할 수 있습니다
TableView
,
Header View
및
Footer View
,
Navigation View
이처럼 단일 클래스 코드를 줄이기 위해
또 하나의 방법은 작은 부분에 ViewController
을 나눌 것입니다 main ViewController
클래스에는 데이터 전달 및 일반 메서드 만 포함됩니다.
UI
코드를 작고 작은 부분에 배포하는 것이 가장 좋습니다.
희망이 있으면 필요한 것을 이해하는 데 도움이됩니다.
해피 코딩.
만들고있는 클래스 카테고리는 무엇입니까? 당신의 부름이 효과가 있다는 것을 바탕으로 약간의 코드 또는 카테고리 클래스를 알려주십시오. – CodeChanger
안녕하세요 @ 코드 변경 내 질문을 편집했습니다. 죄송합니다 코드를 여기에 추가 할 수 없습니다. –
왜 안 되니? 당신은 사용중인 UIViewController의 특정 인스턴스에 대한 메소드를 호출하고 있습니다. 다른 인스턴스에는 아무 것도하지 않습니다. – Tj3n