iOS初级开发笔记:Block回调,实现简单的绑定支付宝逻辑
生活随笔
收集整理的這篇文章主要介紹了
iOS初级开发笔记:Block回调,实现简单的绑定支付宝逻辑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
綁定支付寶首頁和填寫資料綁定頁之間,
需要在填寫頁填寫好手機號,驗證碼等,點擊確認綁定后跳回到綁定首頁。并且綁定按鈕變為已綁定按鈕,暫未綁定label變為輸入的支付寶賬號。并且點擊已綁定按鈕會跳轉到解綁界面。
整個流程在app上展示為
一、在傳信息的controller內(即填寫頁的controller內)創建Block:
fillAlipayViewController.h中:
// 創建block typedef void(^bindAlipayBlock)(NSDictionary *bindDict);// 監聽返回的綁定狀態 @property (nonatomic, copy) bindAlipayBlock returnBlock; 復制代碼-
這里解釋一下創建語句:
- 我們可以通過關鍵字typedef來為block起類型名稱,然后直接通過類型名進行block的創建;
- void為返回值;
- ^bindAlipayBlock為block名稱;
- NSDictionary *bindDict為參數。
-
因為需要傳兩個值(支付寶號和綁定狀態),所以創建類型是字典,命名也要明確Block是什么類型:
fillAlipayViewController.m中:
需創建全局變量:_alipayAccount即為監聽輸入的支付寶賬號全局變量。支付寶賬號為字符串:
{NSString *_alipayAccount;//支付寶賬號 } 復制代碼在輸入完成后點擊確認的點擊事件中,確定若響應Block實例,則傳出字典,字典內寫相應的鍵值,(即將綁定YES狀態和支付寶賬號傳出去):
if (self.returnBlock){self.returnBlock(@{@"isBind":@"YES",@"alipayAccount":self->_alipayAccount}); } 復制代碼接著下面是返回上一頁綁定首頁語句:
[self.navigationController popViewControllerAnimated:YES]; 復制代碼二、在接收信號的controller內(即綁定首頁的controller內):
bindAlipayViewController.m中:
創建對應全局變量來接收值:
{BOOL _isBind;//綁定狀態NSString *_bindAlipayAccount;//綁定的支付寶賬號 }復制代碼跳轉方法的實現中:
- (void)jumpToControllerWithType:(NSString *)type{if([type intValue]== 1){ABFillAlipayViewController *vc=[[ABFillAlipayViewController alloc]init];WS(weakself);vc.returnBlock = ^(NSDictionary *bindDict) {NSLog(@"返回了~");// 綁定狀態判斷self->_isBind = [bindDict[@"isBind"] isEqualToString:@"YES"]?YES:NO;// 支付寶賬號賦值self->_bindAlipayAccount = bindDict[@"alipayAccount"]; // 刷新tableView中數據[weakself.tableView reloadData];};[self.navigationController pushViewController:vc animated:YES];}else if([type intValue]== 2){[self.navigationController pushViewController:[[ABRemoveBindAlipayViewController alloc]init] animated:YES];} } 復制代碼_isBind做判斷,等于字符串@“YES”的時候為YES,否則NO。
_bindalipayAccount就等于字典傳過來的值。
因為綁定首頁使用tableView畫的,所以在cell內容中判斷,若綁定成功,則做相應改變賦值:
if (_isBind == YES) {// 綁定按鈕隱藏,顯示已綁定按鈕cell.bindButton.hidden = YES;cell.boundButton.hidden = NO;// 顯示支付寶賬號cell.subLabel.text = _bindPhoneNumber; }else{// 綁定按鈕顯示,隱藏已綁定按鈕cell.bindButton.hidden = NO;cell.boundButton.hidden = YES;// 顯示“暫未綁定賬號”cell.subLabel.text = @“暫未綁定賬號”;} 復制代碼作者介紹
- 李鴻:廣州蘆葦科技 APP 團隊 iOS 開發工程師
內推信息
- 我們正在招募小伙伴,有興趣的小伙伴可以把簡歷發到 app@talkmoney.cn,備注:來自掘金社區
- 詳情可以戳這里--> 廣州蘆葦信息科技
總結
以上是生活随笔為你收集整理的iOS初级开发笔记:Block回调,实现简单的绑定支付宝逻辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 开源 ~ canal+ott
- 下一篇: [20190401]跟踪dbms_loc