極其簡單易用的ViewController push 傳參 封裝類別;
Github地址 方便的頁面跳轉,只需一行代碼 支持Storyboard,xib,無viewgit
/*! * @brief push頁面 * * @param aVC VC的字符串名稱,VC的實例,VC在storyboard中的id */ - (void)js_push:(id)aVC;
例子:
github
//a ViewController 名稱 [self js_push:@"ViewController"]; //ViewController在Stroyboard中的ID [UIViewController js_setStoryboardNames:@"Main"]; [self js_push:@"VC_ID"]; //UIViewController 的實例 UIViewController *vc = [UIViewController new]; [self js_push:vc];
其餘方法:
objective-c
/*! * @brief push頁面,若頁面存在則pop到該頁面 * * @param aVC VC的字符串名稱,VC的實例,VC在Storyboard中的id */ - (void)js_pushOrPopTo:(id)aVC; /*! * @brief push頁面,而且移除前面的頁面 * * @param aVC VC的字符串名稱,VC的實例,VC在Storyboard中的id * @param count -1表示清空前面全部vc,而且設置當前頁面爲rootVC;0表示不清除前面頁面;>0表示清除前面count個vc;若count > 全部vc數量,則效果同-1 */ - (void)js_push:(id)aVC removePrior:(NSInteger)count;
還有更多,請查看demo和頭文件
atom
###方便的頁面傳參### 能夠直接設置目標頁面的property,或者傳遞字典。
在目標頁面只需self.js_parameter[@"key"]便可得到傳值。spa
/*! * @brief push頁面 * * @param aVC VC的字符串名稱,VC的實例,VC在Storyboard中的id * @param param 傳遞的參數,使用self.js_parameter獲取。能夠[self js_setParamType:JSegueParamType]修改支持實例的property變量設置 */ - (void)js_push:(id)aVC param:(NSDictionary*)param;
例子:
code
@interface XibViewController : UIViewController @property (nonatomic, strong) NSString *publicProperty; @end //push而且傳參 NSDictionary *paramDict = @{@"publicProperty":@"hello public property", @"privateProperty":@"hello private property", @"customDictParam":@"hello custom dict param"}; [self js_push:@"XibViewController" param: paramDict]; //receive @implementation XibViewController - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"NoXibViewController received:%@",self.js_parameter); NSLog(@"publicProperty:%@",self.publicProperty); NSLog(@"privateProperty:%@",self.privateProperty); self.label.text = self.js_parameter[@"customDictParam"]; }
其餘方法:
還有更多,請查看demo和頭文件
rem
###使用CocoaPods添加### pod 'JSegue'
字符串
Github地址get