이것은 아마도 전에 물어볼 것이지만 무엇을 검색해야할지 모르겠습니다. 이제 내 계층 구조입니다 : NSObject> FirstSubclass> SecondSubclass. 하지만 특정 조건이 충족 될 때 FirstSubclass에서 몇 가지 세부 사항을 변경해야하는 앱의 새 기능을 구현할 것입니다. 그래서 FirstSubclass의 동작을 덮어 쓰려면 FirstSubclass와 SecondSubclass 사이에 서브 클래스가 필요합니다. SecondSubclass 자체에서 일을 덮어 쓸 필요는 없지만 모든 다른 SecondSubclass 하위 클래스에는 super
이 필요합니다. "then then statements"을 사용하여 FirstSubclass의 모든 것을 바꿀 수는 있지만 처음에는 다른 옵션이 없는지 확실하게 알고 싶었습니다. 이를 위해 "프로토콜"이 필요합니까? SecondSubclass : FirstSubclasslass <WeirdThingIDontKnow>
처럼?서브 클래 싱에 관한 질문
1
A
답변
0
ducktyping이 필요합니다. 목표 C에서는 respondsToSelector
, performSelector
또는 NSInvocation
을 사용하여 수행 할 수 있습니다. 이렇게하면 클래스 계층을 훨씬 단순하게 만들 수 있습니다.
0
FirstSubclass에서 파생 된 (예 : InBetweenSubClass) 새 개체를 만들고 FirstSubclass의 필요한 메서드를 재정의합니다. 그런 다음 FirstSubclass 대신 InBetweenSubClass에서 파생되도록 SecondSubclass를 변경하십시오.
Objective-C에 해당하는 "대체"가 없으며 동일한 서명으로 메소드를 구현하기 만하면 기본 클래스의 메소드가 대체됩니다. 특별한 조건이 충족되면 새로운 방법을 사용하고 그렇지 않으면 기본 (수퍼) 클래스의 방법을 사용하십시오.
-(void) test
{
if (self.specialcondition)
{
[self newTest];
}
else
{
[super test];
}
}
관련 문제
- 1. Matlab 서브 클래 싱 질문
- 2. Obj-c noob 반환 유형이 아닌 서브 클래 싱에 관한 질문이 있으십니까?
- 3. 파이썬에서 서브 클래 싱하기
- 4. Slick.Grid 서브 클래 싱
- 5. 서브 클래 싱 NSBox
- 6. OnClickListener 서브 클래 싱
- 7. 서브 클래 싱 NSString
- 8. PyQt 서브 클래 싱
- 9. UIAlertView 서브 클래 싱
- 10. 서브 클래 싱 배열
- 11. 서브 클래 싱 NSOutlineView
- 12. ActiveRecord 서브 클래 싱?
- 13. MKPinAnnotationView 서브 클래 싱
- 14. 파이썬에서 십진수를 서브 클래 싱하기
- 15. 레일즈에서 서브 클래 싱하기 모델
- 16. SharePoint 개체 서브 클래 싱
- 17. 플래시의 fl.core.UIComponent 서브 클래 싱
- 18. UITableViewCell 서브 클래 싱의 문제점
- 19. 서브 클래 싱 된 UITableView
- 20. ASP.NET의 DropDownList 서브 클래 싱
- 21. Java : ResourceBundle 서브 클래 싱
- 22. cocos2d에서 스프라이트 서브 클래 싱하기
- 23. 아이폰/목표 - C - 서브 클래 싱 TTLauncherView 방법은 결정 pageChanged
- 24. IOS에 관한 동영상에 관한 질문
- 25. 내 데이터베이스에서 서브 스크립 션 지불 상태 관리에 관한 질문
- 26. Objective-C에서 서브 클래 싱하는 것이 나쁜 습관입니까?
- 27. 객관적인 질문, xpath에 관한 질문
- 28. 서브 클래 싱없이 오버로드 메서드 (특히 drawRect :)
- 29. NSObject를 서브 클래 싱하는 중 오류 : "EXC_BAD_ACCESS"
- 30. PopoverController에 대한 UITableViewController 서브 클래 싱
Weell ... 그리고 질문은 무엇입니까? – Gobra
내가 필요한 "종류"가 무엇인지 묻기 위해 편집했습니다. – Michael