1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/GL9700-GLRouter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

GLRouter

Version [![License](https://img. shields. io/cocoapods/l/GLRouter. svg? style=flat)](https://cocoapods. org/pods/ GLRouter) [![Platform](https://img.shields. io/cocoapods/p/GLRouter. svg? style=flat)](https://cocoapods. org/pods/ GLRouter)

Быстрое начало

Основные понятия

  1. Router поддерживает три вида маршрутизации:
    • push — переход на страницу;
    • present — всплывающее окно страницы;
    • invoke — вызов метода.
  2. Если цель должна быть показана (push, present), то необходимо реализовать соответствующее содержимое в .
  3. Если цель нужно вызвать (invoke), то вызываемый целевой метод должен быть методом класса.

Использование (переход на страницу)

  1. В целевом ViewController импортируйте интерфейс и реализуйте соответствующие методы.
  2. Используйте следующий код:
/*  
* C-функция, не требует имени класса, прямой вызов  
* rto_dsp(NSString *str, BOOL (^handle)(id tgt))  
*/  
  
// Переход с текущей страницы на TargetViewController  
rto_dsp(@"SCHEME://push/TargetViewController", nil);  

// Всплывающее окно TargetViewController на текущей странице  
rto_dsp(@"SCHEME://present/TargetViewController", nil);  

Использование (вызов метода)

  1. Убедитесь, что в целевом классе есть эта функция, например:
// <Tools.h>  
@interface Tools : NSObject  
@end  

// <Tools.m>  
@implementation Tools  
- (BOOL)sendMessage:(NSString *)msg from:(NSString *)from to:(NSString *)to {  
BOOL success = (msg!=nil && from!=nil && to!=nil);  
if(success){  
NSLog(@"%@ 给 %@ 发送了消息: %@", from, to, msg);  
}else{  
NSLog(@"发送失败");  
}  
return success;  
}  
@end  
  1. Для вызова используйте следующий код:
/*  
* C-функция, не требует имени класса, прямой вызов  
* rto_ivk(NSString *str, void (^handle)(id ret))  
*/  

// Без возвращаемого значения  
rto_ivk(@"SCHEME://invoke/Tools/sendMessage:from:to:?p1=Hello World&p2=Tom&p3=Jerry", nil); // вывод «Tom 给 Jerry 发送了消息: Hello World»  

// С возвращаемым значением  
rto_ivk(@"SCHEME://invoke/Tools/sendMessage:from:to:?p1=Hello World&p2=Tom&p3=Jerry", ^(id ret){  
// ret — возвращаемое значение  
BOOL result = [ret BoolValue];  
}); // вывод «Tom 给 Jerry  отправил сообщение: Hello World».  

Состав RouterURL

The Image in raw.githubusercontent.com

Установка

GLRouter доступен через CocoaPods. Чтобы установить его, просто добавьте следующую строку в свой Podfile:

pod 'GLRouter'  

Дополнительно

В настоящее время на рынке существует два основных способа внешней маршрутизации для перехода в приложение:

  • schema (iOS all):
Например: weixin://dl/scan  
Преимущество: простота вызова  
Недостаток: некоторые браузеры не могут перейти, например, веб-страницы в WeChat; невозможно определить, запущено ли приложение через JS  
  • Universal Link (iOS9+):
Необходимо: настроить домен, связанный с приложением, во время разработки iOS  

История

  • 2.1.2
    • В расширении UIViewController добавлены два метода для предотвращения возможных сбоев из-за пустых или неправильных значений в процессе маршрутизации.
  • 2.1.1
    • Оптимизирован процесс передачи параметров маршрутизации url, чтобы избежать усечения параметров. Например:
    rto_dsp(@"App://push/MyWebViewController?title=标题&url=http://www.home.com/page.html?a=1&b=2&c=3&d=4", nil);  
  • 2.1.0
    • Добавлена удобная схема инициализации: rto_init_tab(scheme, routingTableName, routingTableBundle).

Автор

LiGuoliang 36617161@qq.com

Лицензия

GLRouter распространяется по лицензии MIT. Подробнее см. в файле LICENSE.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/GL9700-GLRouter.git
git@api.gitlife.ru:oschina-mirror/GL9700-GLRouter.git
oschina-mirror
GL9700-GLRouter
GL9700-GLRouter
master