iOS 경로(MGJrouter)의 실현
처음에 경로 가 되 려 고 했 던 이 유 는 그 당시 app 에서 H5 와 의 상호작용 이 많 았 기 때 문 입 니 다.원생 과 H5 의 점프 동작 이 비교적 많 고 빈번 하기 때 문 입 니 다.점프 하 나 를 추가 하면 코드 전송 버 전과 관련 되 었 고 iOS,안 드 로 이 드 와 H5 의 점프 를 통일 시 키 기 위해 경 로 를 도 입 했 습 니 다.
역할.
나중에 길 을 발견 하면 많은 역할 을 할 수 있다.Router 는 마치 스케줄 링 센터 와 같다.각 모듈 은 루트 를 통 해 다른 모듈 을 스케줄 링 한다.모듈 간 에 서로 인용 할 필요 가 없고 스케줄 링 방식 이 더욱 통일 되 고 자 유 롭 고 결합 을 해제 하 는 작용 을 실현 할 수 있 으 며 이후 의 모듈 화 개발 에 기반 을 다 졌 다.
경로 선택
현재 github 의 우수한 경로 디자인 은 이미 매우 많다.예 를 들 어 JLRoutes,MGJrouter,CTMediator 등 이다.
JLRoutes 가 제공 하 는 기능 은 비교적 복잡 하고 개인 적 으로 사용 할 수 없 는 기능 이 많아 서 선택 하지 않 았 다.
CTMediator 는 업무 가 복잡 한 상황 에 더욱 적합 하고 MGJrouter 의 사용 이 더욱 쉬 우 며 기능 도 간단 하여 페이지 전환 과 같은 업무 가 비교적 많은 장면 에 더욱 적합 하 다.그래서 저 는 프로젝트 중 에 MGJrouter 를 선 택 했 습 니 다.
JLRoutes
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 사용 데모
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.