iOS 경로(MGJrouter)의 실현

2545 단어 iOS경로MGJRouter
배경
처음에 경로 가 되 려 고 했 던 이 유 는 그 당시 app 에서 H5 와 의 상호작용 이 많 았 기 때 문 입 니 다.원생 과 H5 의 점프 동작 이 비교적 많 고 빈번 하기 때 문 입 니 다.점프 하 나 를 추가 하면 코드 전송 버 전과 관련 되 었 고 iOS,안 드 로 이 드 와 H5 의 점프 를 통일 시 키 기 위해 경 로 를 도 입 했 습 니 다.
역할.
나중에 길 을 발견 하면 많은 역할 을 할 수 있다.Router 는 마치 스케줄 링 센터 와 같다.각 모듈 은 루트 를 통 해 다른 모듈 을 스케줄 링 한다.모듈 간 에 서로 인용 할 필요 가 없고 스케줄 링 방식 이 더욱 통일 되 고 자 유 롭 고 결합 을 해제 하 는 작용 을 실현 할 수 있 으 며 이후 의 모듈 화 개발 에 기반 을 다 졌 다.

경로 선택
현재 github 의 우수한 경로 디자인 은 이미 매우 많다.예 를 들 어 JLRoutes,MGJrouter,CTMediator 등 이다.
JLRoutes 가 제공 하 는 기능 은 비교적 복잡 하고 개인 적 으로 사용 할 수 없 는 기능 이 많아 서 선택 하지 않 았 다.
CTMediator 는 업무 가 복잡 한 상황 에 더욱 적합 하고 MGJrouter 의 사용 이 더욱 쉬 우 며 기능 도 간단 하여 페이지 전환 과 같은 업무 가 비교적 많은 장면 에 더욱 적합 하 다.그래서 저 는 프로젝트 중 에 MGJrouter 를 선 택 했 습 니 다.
JLRoutes
  • 집성 이 간단 하 다
  • 다양한 url
  • 을 처리 할 수 있 습 니 다.
  • 지원 어댑터
  • 여러 scheme 지원
  • 순 전 히 페이지 를 연 후의 값 리 턴 은 지원 되 지 않 습 니 다.스스로 재 가공 해 야 한다.
  • MGJRouter
  • 코드 가 간단 하고 알 기 쉽다
  • 기능 전면
  • push 값 리 턴 지원
  • 다 중 scheme 지원
  • openUrl 시 userInfo 를 지원 합 니 다.
    MGJRouter
    MGJrouter 는 하나의 사례 유형 에 대해 사용 하기 전에 등록 구성 요 소 를 통 해 호출 자 는 URL 을 통 해 서비스 측 페이지 를 호출 하고 경로 표 의 매 핑 관 계 를 통 해 연결 되 며 호출 자 는 복잡 한 매개 변수,대상 등 을 전송 할 수 있다.
    기본 점프 는 주로 구성 요 소 를 등록 하고 openURL 방법 을 호출 하 며 매개 변 수 를 입력 하면 이 루어 집 니 다.
    
    [MGJRouter registerURLPattern:@"mgj://foo/bar" toHandler:^(NSDictionary *routerParameters) {
      NSLog(@"routerParameterUserInfo:%@", routerParameters[MGJRouterParameterUserInfo]);
    }];
    
    [MGJRouter openURL:@"mgj://foo/bar"];
    
    하나의 종 류 를 사용 하여 등록 을 통일 적 으로 관리 하 는 방법 을 사용 하고 load 방법 에서 등록 하면 등 록 된 코드 를 곳곳에서 보지 못 하고 관리 하기 편리 합 니 다.

    url 등록 관리 클래스
    많은 사람들 이 역방향 으로 값 을 전달 하 는 방법 이 없다 고 말 하지만 사실은 우리 가 다른 점프 와 마찬가지 로 인 자 를 전달 할 때 block 을 사용 하면 해결 할 수 있다.
    
    [MGJRouter openURL:@"LWT://Test3/PushMainVC"withUserInfo:@{
      @"navigationVC" : self.navigationController,
      @"block":^(NSString * text){NSLog(@"%@",text); },
      }
          completion:nil];
    
    
    코드 다운로드
    demo 에는 점프,구성 요소 획득,정반 향 전송 등 MGJrouter 의 각 방법의 사용 사례 가 있 습 니 다.
    MGJrouter 사용 데모
     이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
  • 좋은 웹페이지 즐겨찾기