子曰:溫故而知新泣栈,可以為師矣。
吐槽自己:之前看人收集了巨多第三放庫的文章抑进,然后自己像寶貝一樣把這些文章收集起來强经,當時想以后遇到這些問題的時候就不用愁了。但是真實情況是寺渗,自從收藏了之后匿情,幾乎沒看過,遇到問題之后也無法想到具體的某一個第三方解決問題』С樱現(xiàn)在看來码秉,只要自己沒有親手實踐過的東西是不會有太多印象的,收藏那么多第三方是沒用的鸡号,而且這些第三方多且雜转砖,恐怕還真沒直接從網(wǎng)絡(luò)上查詢解決的問題快。
今天重新回顧下之前做的公司內(nèi)部使用的APP時采用的第三方鲸伴,同時也為自己梳理下知識府蔗,以后做項目的時候可以更加高效和穩(wěn)定。還是老話說得好汞窗,好記性不如爛筆頭姓赤,以后我不可能記住每一用過第三方的作用和使用方法,但是希望以后回顧這篇文章的時候仲吏,能夠給問題提供一個線索不铆,從而快速的解決遇到的問題。
1裹唆、MagicalRecord 是用來操作Core Data的一個第三方工具誓斥。
詳細使用分析:Demo+詳解
tips:CoreData允許插入重復(fù)數(shù)據(jù),所以在插入數(shù)據(jù)之前需要判斷是否存在许帐。提高性能的話盡量用少的上下文劳坑。上下文切換很耗資源,其次只在需要保存的時候才保存成畦,需要讀數(shù)據(jù)看才去讀距芬。項目大了之后很容易犯這種錯誤。
2循帐、MMPopupView彈出框組件
[http://www.cocoachina.com/ios/20150911/13417.html]
3框仔、MMDrawerController
抽屜效果,側(cè)邊欄拄养,實例QQ側(cè)邊欄
http://www.reibang.com/p/9e55cbf7d5ab
4离斩、MJExtension
字典和模型之間互相轉(zhuǎn)換的輕量級框架
http://www.reibang.com/p/93c242452b9b
拓展YYModel:
YYModel和MJEXtension類似的字典模型轉(zhuǎn)換框架,也非常好用:
原文鏈接:http://www.reibang.com/p/25e678fa43d3
demo鏈接:https://github.com/walkertop/YYModel---Demo
插件鏈接:https://github.com/EnjoySR/ESJsonFormat-Xcode
5、MBProgressHUD
常用的提示框捐腿,菊花纵朋、圓圈等
[http://www.reibang.com/p/478ffcde2377]
6、Masonry
常用的界面適配第三方
源碼解析:[http://blog.ifelseboyxx.com/2017/02/23/Masonry-Analysis/]
7茄袖、OpenShare
一個超級輕量級的分享框架操软,秒集成社會化分享。但是不像友盟那樣有統(tǒng)計功能宪祥,如果只是集成分享功能推薦使用聂薪。
http://www.reibang.com/p/8e84d0936488
8、RestKit
RestKit 是一個用于更好支持RESTful風格服務(wù)器接口的iOS庫,可直接將聯(lián)網(wǎng)獲取的json/xml數(shù)據(jù)轉(zhuǎn)換為iOS對象蝗羊。不過藏澳,我們目前用的最多的還是AFNetWorking,RestKit可以作為一個擴展耀找。
[https://segmentfault.com/a/1190000003745207]
RESTful API的理解
http://blog.csdn.net/wangyanchao000/article/details/55047806
使用教程:
[http://blog.csdn.net/zhonggaorong/article/details/51354887]
9翔悠、AFNetworking
這個自不必說,凡是做過iOS開發(fā)的沒有一個不知道它的大名野芒。
獻上一位大神詳細剖析的文章蓄愁,總共分為十三部分:http://www.cnblogs.com/machao/p/5833794.html
10、SDWebImage
SDWebImage也是極為常用的第三放狞悲。
大神剖析文章:http://www.cnblogs.com/machao/p/6126826.html
下載緩存圖片:[http://www.cocoachina.com/ios/20170511/19252.html]
[http://www.reibang.com/p/be9a0a088feb]
11撮抓、UITableView+FDTemplateLayoutCell
自動計算cell高度,使用分析:http://www.reibang.com/p/b4ac41668ca4
Demo:http://www.reibang.com/p/b4ac41668ca4
12摇锋、XHRefreshControl
XHRefreshControl 是一款高擴展性丹拯、低耦合度的下拉刷新、上提加載更多的組件荸恕。
場景:京東下拉乖酬,快遞人員跑
Demo:[https://github.com/xhzengAIB/XHRefreshControl]
13、ZBarSDK
二維碼生成與掃描戚炫。
解析:http://www.reibang.com/p/a6ab98036873
14剑刑、ZWSlideViewController
多頁滑動視圖控制器(類似新聞類門戶APP),可以用最簡單的繼承方法使用媳纬,也可以不用繼承双肤,只用菜單或主視圖頁面.
下載鏈接:https://github.com/squarezw/ZWSlideViewController
15、YZDisplayViewController
針對14(多頁滑動視圖控制器)钮惠,在跳著選擇不同的欄目的時候會有閃動的效果茅糜,個人體驗不好,還是推薦YZDisplayViewController素挽,效果更好蔑赘,而且使用起來也跟方便。
http://www.cocoachina.com/ios/20160601/16565.html
YZDisplayViewController使用示例:
- (void)addAllChildVc
{
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"頭條",@"杭州",@"讀報",@"政情",@"時局",@"法制",@"財經(jīng)",@"人文",@"教育",@"健康",@"視覺",@"畫圖俠",@"訂閱",@"專題",@"活動",nil];
//所有的界面都由這一個進行反復(fù)創(chuàng)建
for (int i = 0; i < array.count; i ++) {
NewsTableViewController *pulicVc = [[NewsTableViewController alloc]init];
pulicVc.title = array[i];
[self addChildViewController:pulicVc];
}
}
16、MJExtention&YYModel使用對比:
其實總本人使用的體驗來說缩赛,兩者沒什么區(qū)別耙箍,看個人喜好使用啦!
NSString *url = [[NSString stringWithFormat:@"http://gank.io/api/data/all/20/1"] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
manager.requestSerializer.timeoutInterval = 5;
[manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
// NSDictionary *dict = @{@"format": @"json"};
[manager GET:url parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
//解析responseObject
NSDictionary *dic = responseObject;
/*
MJExtention&YYModel內(nèi)部原理相同酥馍,都是通過runtime獲取字典相應(yīng)的屬性值然后再去一一匹配數(shù)據(jù)辩昆。
*/
//1、MJExtention字典數(shù)組轉(zhuǎn)模型數(shù)組
NSArray *MJArr = [DataModel mj_objectArrayWithKeyValuesArray:dic[@"results"]];
for (int i=0; i<MJArr.count; i++) {
DataModel *model = MJArr[i];
NSLog(@"----------formodel:%@",model.who);
}
//2旨袒、YYModel字典轉(zhuǎn)模型
NSArray *YYArr = [NSArray yy_modelArrayWithClass:[DataModel class] json:dic[@"results"]];
[YYArr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
DataModel *model = YYArr[idx];
NSLog(@"----------enumerateObjectsUsingBlockmodel:%@",model.url);
}];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"數(shù)據(jù)發(fā)送請求失敗");
}];
以下找的大神所寫的常用的自定義控件汁针,留作以后使用。
-
第一章 廣告展示類效果 ..................
-
第二章 提示類效果..................
-
第三章 列表類效果..................
-
第四章 側(cè)滑類效果..................
-
第五章 其他常用效果..................
-
第六章 玩玩swift..................
作者:ZeroJ
鏈接:http://www.reibang.com/p/510500f3aebd