您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機(jī)編程>

一些經(jīng)典的Objective-C 項(xiàng)目及其常用方法

大小:0.3 MB 人氣: 2017-09-26 需要積分:1

  AFNetworking/AFNetworking

  作者是 NSHipster 的博主, iOS 開(kāi)發(fā)界的大神級(jí)人物, 畢業(yè)于卡內(nèi)基·梅隆大學(xué), 開(kāi)源了許多牛逼的項(xiàng)目, 這個(gè)便是其中之一。

  AFNetworking 采用 NSURLConnection + NSOperation, 主要方便與服務(wù)端 API 進(jìn)行數(shù)據(jù)交換, 操作簡(jiǎn)單, 功能強(qiáng)大, 現(xiàn)在許多人都用它取代 ASIHTTPRequest。

  AFNetworking中最常用的就是POST和GET請(qǐng)求,除此,它還可以配置HTTPHeader。

  GET請(qǐng)求

  AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

 ?。踡anager GET:@“http://example.com/resources.json” parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

  NSLog(@“JSON: %@”, responseObject);

  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

  NSLog(@“Error: %@”, error);

  }];

  POST請(qǐng)求

  AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

  NSDictionary *parameters = @{@“foo”: @“bar”};

 ?。踡anager POST:@“http://example.com/resources.json” parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {

  NSLog(@“JSON: %@”, responseObject);

  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

  NSLog(@“Error: %@”, error);

  }];

  2. rs/SDWebImage

  作者 Olivier Poitrey 是 Dailymotion 的 CTO, 擁有多個(gè)不錯(cuò)的開(kāi)源項(xiàng)目。此項(xiàng)目常用于對(duì)從 Web 端接受到的圖片進(jìn)行緩存, 是 UIImageView 的擴(kuò)展, 應(yīng)用起來(lái)比較簡(jiǎn)單。

  框架中最最常用的方法其實(shí)就是這個(gè):

 ?。踫elf.imageView sd_setImageWithURL:[NSURL URLWithString:@“url”]

  placeholderImage:[UIImage imageNamed:@“placeholder.png”]];

  這個(gè)框架中還有 UIButton 的分類(lèi), 可以給 UIButton 異步加載圖片。

  3. ReactiveCocoa

  由 GitHub 工程師們開(kāi)發(fā)的一個(gè)應(yīng)用于 iOS 和 OS X 開(kāi)發(fā)的函數(shù)響應(yīng)式編程新框架。它被Mattt Thompson大神稱為開(kāi)啟一個(gè)新Objective-C紀(jì)元。ReactiveCocoa提供了API用來(lái)組合、轉(zhuǎn)換一直變化的數(shù)據(jù)流。

  該框架常用于對(duì)事件的監(jiān)聽(tīng),實(shí)時(shí)監(jiān)聽(tīng) textField 輸入的字符串并打印,方法如下:

 ?。郏踭extField rac_signalForControlEvents:UIControlEventEditingChanged]

  subscribeNext:^(id x) {

  LxDBAnyVar(x);

  }];

  為 UIView 添加點(diǎn)擊事件

  self.view.userInteractionEnabled = YES;

  UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]init];

 ?。郏踭ap rac_gestureSignal] subscribeNext:^(UITapGestureRecognizer * tap) {

  LxDBAnyVar(tap);

  }];

  [self.view addGestureRecognizer:tap];

  監(jiān)聽(tīng) app 進(jìn)入后臺(tái)的通知

 ?。郏郏跱SNotificationCenter defaultCenter] rac_addObserverForName:UIApplicationDidEnterBackgroundNotification object:nil] subscribeNext:^(NSNotification * notification) {

  LxDBAnyVar(notification);

  }];

  4. BradLarson/GPUImage

  一款強(qiáng)大的圖片濾鏡工具, 支持自定義濾鏡, 可用來(lái)實(shí)時(shí)處理圖片和視頻流, 作者是 SonoPlot 公司的 CTO, 在很小的時(shí)候便開(kāi)始接觸編程。GPUImage 這個(gè)項(xiàng)目從 2012 年開(kāi)始, 使用 OpenGL 圖形程序接口編寫(xiě), 性能非常好, 現(xiàn)在很多 iOS 程序員都用它來(lái)實(shí)現(xiàn) iOS 的模糊效果。該項(xiàng)目的優(yōu)點(diǎn)不但在于濾鏡很多,而且處理效果是基于GPU的,比使用CPU性能更高。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?