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