iOS 디자인 모드 의 조합 모드

1637 단어
조합 모드
1. 조합 모드 란 무엇 인가
조합 모델 은 대상 을 트 리 구조 로 조합 하여 '부분 - 전체' 의 차원 구 조 를 나타 내 고 조합 모델 은 사용자 가 하나의 대상 과 조합 대상 에 대한 사용 이 일치 하도록 한다.
조합 모델 은 트 리 데이터 구조 에 대한 실현 이 고 조합 모델 은 주로 두 개의 역할 로 구성 된다.
  • 가지 결점
  • 엽 결점
  • 모든 조합 모드 는 하나의 노드 에서 확장 되 고 모든 가지 결점 은 가지 결점 과 잎 결점 을 확장 할 수 있다.잎 결점 은 이 가지 의 종점 을 표시 하여 확장 할 수 없다.iOS 의 View 는 표준적 인 조합 모드 다.
    2. 조합 모드 는 어디 에 사용 합 니까?
  • 프로그램 에 트 리 구조 가 있 을 때 사용
  • 조합 대상 과 단일 대상 의 차 이 를 무시 하고 통일 적 으로 처리 할 때.

  • UIView 는 둘 다 부합 되 고 구조 적 으로 트 리 구조 에 속 하 며 view 든 그의 subView 든 모두 기본 적 인 처 리 를 할 수 있 습 니 다.
    3. 조합 모드 의 사용
  • 클래스 를 만 들 고 모든 노드 를 추가, 제거, 검색 하 는 방법 을 정의 합 니 다
  • 배열 을 만 들 고 추가 등 방법 을 실현 합 니 다.

  • 여기 서 나 는 잠시 가지 와 잎 결점 의 실현 을 하나 로 합 쳐 배열 의 개수 에서 판단 하고 개 수 는 0 의 즉위 엽 결점 이다.
    4. 총화
    자신의 프로그램 에서 트 리 구 조 를 만 나 는 것 이 적 고 조합 모델 을 사용 하 는 것 도 적다. 이치 에 따 르 면 잘 알 필요 가 없 지만 iOS 에 존재 하 는 UIView 라 는 조합 모델 의 실현 으로 인해 그 에 대해 어느 정도 알 아야 한다.조합 모델 의 가장 큰 장점 은 그의 노드 가 자 유 롭 게 증가 할 수 있 고 노드 를 호출 하 는 것 이 편리 하 다 는 것 이다.
    5、demo
    
    import UIKit
    
    class Composite: NSObject {
        var subComposites: NSMutableArray = {NSMutableArray()}()
        var parentComposite: Composite?
        
        func addComposite(comp:Composite){
            subComposites.add(comp)
            comp.parentComposite = self
        }
        func removeCompositeAtIndex(index:Int) {
            subComposites.remove(at: index)
        }
        func removeComposite(comp:Composite) {
            subComposites.remove(comp)
        }
        func removeFromParent() {
            if (self.parentComposite != nil) {
                self.parentComposite?.removeComposite(comp: self)
            }
        }
    }
    

    좋은 웹페이지 즐겨찾기