iOS開發(fā)筆記:實現(xiàn)簡單的登錄(通過Post請求)

初學(xué)iOS,記錄一下自己遇到的一些問題,也希望能夠?qū)e人有所幫助

也是今天開始學(xué)習(xí)AFNetworking,看到3.0出來了,所以就做了一個demo學(xué)習(xí)了解了一下,感覺并不是太難理解,也因為自己的了解還在最底層階段吧,畢竟網(wǎng)絡(luò)這塊的知識內(nèi)容很多也很龐大的,要學(xué)的東西還有太多太多了......

簡介

AFNetworking是一個為 iOS 和 Mac OSX 制作的令人愉快的網(wǎng)絡(luò)庫,它建立在URL 裝載系統(tǒng)框架的頂層,內(nèi)置在Cocoa里,擴展了強有力的高級網(wǎng)絡(luò)抽象。它的模塊架構(gòu)被良好的設(shè)計,擁有豐富的功能,使用起來,簡單方便。

導(dǎo)入

首先在項目中Cocoapods中導(dǎo)入AFNetworking3.0庫(Xcode->Product-> Cocoapods->Create/Edit Podfile):

platform :ios, '8.0'
pod 'AFNetworking', '~> 3.0'

然后Product--> CocoaPods-->install Pods,等待...安裝完成...

使用

搭建一個簡單的界面,然后關(guān)聯(lián)到interface中。然后回到ViewController.m,在頭文件中導(dǎo)入 AFNetworking :


一個簡單的登錄界面

在loginButton方法中獲取輸入的賬號和密碼的內(nèi)容,并存儲到的parameters中:

    //獲取輸入的賬號密碼
    NSString *username = self.accountText.text;
    NSString *password = self.passwordText.text;

進(jìn)行post請求:

    //請求的參數(shù):即向服務(wù)器發(fā)送的參數(shù),比如登錄QQ時的賬號和密碼
    NSDictionary *parameters = @{@"name":username,
                                 @"password":password
                                 };
    //請求的網(wǎng)址:即請求的接口,這里的這個無效,具體的用你要用的
    NSString *urlString = @"http://**********/Api/****/login";

    //請求的manager,我也不知道找什么詞形容比較好,就理解成管理者吧
    AFHTTPSessionManager *managers = [AFHTTPSessionManager manager];

    //進(jìn)行POST請求
    [managers POST:urlString parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
        NSLog(@"請求成功,服務(wù)器返回的信息%@",responseObject);
    } failure:^(NSURLSessionDataTask *task, NSError * error) {
        NSLog(@"請求失敗,服務(wù)器返回的信息%@",error);
    }];

如果你的賬號和密碼沒問題,對應(yīng)的接口也OK,那么只需要點擊登錄按鈕,一個簡單的登錄請求就成功了。

要注意的一點是,在AFNetworking 3.0中進(jìn)行HTTP請求,使用的是AFURLSessionManager,而在3.0之前版本的中,進(jìn)行HTTP請求的AFHTTPRequestOperationManager已經(jīng)被棄用了。

完整代碼如下:

#import "ViewController.h"
#import <AFNetworking.h>

@interface ViewController ()
@property (strong, nonatomic) IBOutlet UITextField *accountText;
@property (strong, nonatomic) IBOutlet UITextField *passwordText;
- (IBAction)loginButton:(id)sender;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)loginButton:(id)sender {
    /**
     *  AFNetworking 3.0
     */
    //獲取輸入的賬號密碼
    NSString *username = self.accountText.text;
    NSString *password = self.passwordText.text;
    //請求的參數(shù)
    NSDictionary *parameters = @{@"username":username,
                                 @"password":password
                                 };
    //請求的url
    NSString *urlString = @"http://**********/Api/****/login";
    //請求的managers
    AFHTTPSessionManager *managers = [AFHTTPSessionManager manager];
    //請求的方式:POST
    [managers POST:urlString parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) {
        NSLog(@"請求成功,服務(wù)器返回的信息%@",responseObject);
    } failure:^(NSURLSessionDataTask *task, NSError * error) {
        NSLog(@"請求失敗,服務(wù)器返回的錯誤信息%@",error);
    }];
}

@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容