201808-28 iOS 利用AFNetworking實(shí)現(xiàn)大文件分片上傳 概述一說(shuō)到文件上傳,想必大家都并不陌生,更何況是利用AFNetworking(PS:后期統(tǒng)稱AF)來(lái)做,那更是小菜一碟。比如開(kāi)發(fā)中常見(jiàn)的場(chǎng)景:頭像上傳,九宮格圖片上傳...等等,這些場(chǎng)景無(wú)一不使用到文件上傳的功能。如果利用AF來(lái)實(shí)現(xiàn),無(wú)非就是客戶端調(diào)用AF提供的文件上傳接口即可,API如下所示:-(nullableNSURLSessionDataTask*)POST:(NSString*)URLStringparameters:(nullableid)para... 繼續(xù)閱讀 >
201711-30 iOS面試題:阿里-P6一面-參考思路 阿里-p6-一面 1.介紹下內(nèi)存的幾大區(qū)域?2.你是如何組件化解耦的?3.runtime如何通過(guò)selector找到對(duì)應(yīng)的IMP地址4.runloop內(nèi)部實(shí)現(xiàn)邏輯?5.你理解的多線程?6.GCD執(zhí)行原理?7.怎么防止別人反編譯你的app?8.YYAsyncLayer如何異步繪制?9.優(yōu)化你是從哪幾方面著手?1.介紹下內(nèi)存的幾大區(qū)域?1.棧區(qū)(stack)由編譯器自動(dòng)分配并釋放,存放函數(shù)... 繼續(xù)閱讀 >
201711-08 iOS中的MVP模式初探 以前在項(xiàng)目中都寫(xiě)的是MVC模式,由于現(xiàn)在在項(xiàng)目中要學(xué)習(xí)MVP模式,所以找了一個(gè)Demo研究了一下.就簡(jiǎn)單說(shuō)說(shuō)自己的看法吧.先說(shuō)一下MVC模式,示意圖如下:MVC模式示意圖模型拿到數(shù)據(jù),可能是數(shù)據(jù)庫(kù)或者網(wǎng)絡(luò)數(shù)據(jù)最簡(jiǎn)單的比方,我們拿到一個(gè)模型數(shù)組了之后,這個(gè)就相當(dāng)于是一個(gè)數(shù)據(jù)源.將數(shù)據(jù)傳遞給控制器,控制器經(jīng)過(guò)簡(jiǎn)單地加工數(shù)據(jù)源經(jīng)過(guò)簡(jiǎn)單地處理加工,比如在tableView中,我們... 繼續(xù)閱讀 >
201709-26 2017年排名前11的iOS應(yīng)用分析工具 似乎每年都有越來(lái)越多的移動(dòng)分析工具,2017年也是如此,所以用戶很難在這么多iOS應(yīng)用程序選擇使用哪一個(gè),或者說(shuō),用戶將不止使用一個(gè)分析工具。開(kāi)發(fā)人員傾向于使用各種分析工具來(lái)幫助他們?nèi)媪私鈏OS應(yīng)用程序,每一個(gè)工具都可以為你提供一個(gè)獨(dú)特的應(yīng)用程序視圖,以及它的執(zhí)行情況。我們對(duì)iOS開(kāi)發(fā)者在2017年使用的iOS應(yīng)用分析工具進(jìn)行了廣泛的研究,發(fā)現(xiàn)這11個(gè)是最好的。Firebase(谷歌應(yīng)用分析工具)“Appsuccessm... 繼續(xù)閱讀 >
201709-26 58 同城 iOS 客戶端搜索模塊組件化實(shí)踐 引言58同城的搜索功能支撐了近一半的用戶流量,所以搜索是一個(gè)很重要的模塊。眾所周知,iPhone的搜索是通過(guò)Spotlight來(lái)實(shí)現(xiàn)的,那么在App內(nèi)部是如何實(shí)現(xiàn)搜索呢?首先了解一下58同城的搜索需求:58同城首頁(yè),提供搜索功能,稱為全站搜。58同城有二手物品、房產(chǎn)、二手車、招聘、黃頁(yè)幾大業(yè)務(wù)線,這是粗粒度的業(yè)務(wù)線。細(xì)分一下,二手可以拆分出二手物品、寵物等類別;房產(chǎn)拆分出租房、二手房等類別;... 繼續(xù)閱讀 >
201610-20 iOS指紋識(shí)別登錄流程及實(shí)現(xiàn) 閑談最近一直在追青云志,總覺(jué)得電視劇沒(méi)有小說(shuō)來(lái)的精彩。是的,大咖們演技堪稱驚艷,劇情改編也很緊湊,但不得不說(shuō)很多東西單靠演是達(dá)不到的,主人公每一刻的內(nèi)心也只能在小說(shuō)中才能看的貼切(為了裝X,哥不惜二百兩買(mǎi)了一沓正版典藏版)。看過(guò)的童鞋知道,張小凡手中的法寶,是由攝魂與嗜血珠以張小凡精血為媒淬煉而成。而且此法寶,有一特大優(yōu)秀品質(zhì),那就是除了與張小凡有血緣關(guān)系的人之外,即便你有通天本領(lǐng)也不能操控,... 繼續(xù)閱讀 >
201610-13 加速iOS開(kāi)發(fā)的28個(gè)第三方庫(kù) 1: AFNetworking -網(wǎng)絡(luò)請(qǐng)求AFNetworkingisadelightfulnetworkinglibraryforiOSandMacOSX類似庫(kù)有 Alamofire2: AsyncDisplayKit -異步加載UISmoothasynchronoususerinterfacesforiOSapps類似庫(kù)有 Componentkit3: Aspects -RuntimeDelightful,simplelibraryforaspectorientedprogramming4: Charts -圖表繪制BeautifulchartsforiOS/tvOS/... 繼續(xù)閱讀 >
201608-25 iOS之同步請(qǐng)求、異步請(qǐng)求、GET請(qǐng)求、POST請(qǐng)求 1、同步請(qǐng)求可以從因特網(wǎng)請(qǐng)求數(shù)據(jù),一旦發(fā)送同步請(qǐng)求,程序?qū)⑼V褂脩艚换ィ敝练?wù)器返回?cái)?shù)據(jù)完成,才可以進(jìn)行下一步操作,2、異步請(qǐng)求不會(huì)阻塞主線程,而會(huì)建立一個(gè)新的線程來(lái)操作,用戶發(fā)出異步請(qǐng)求后,依然可以對(duì)UI進(jìn)行操作,程序可以繼續(xù)運(yùn)行3、GET請(qǐng)求,將參數(shù)直接寫(xiě)在訪問(wèn)路徑上。操作簡(jiǎn)單,不過(guò)容易被外界看到,安全性不高,地址最多255字節(jié);4、POST請(qǐng)求,將參數(shù)放到body里面。POST請(qǐng)求操作相對(duì)復(fù)雜,需要將參數(shù)和地... 繼續(xù)閱讀 >
201608-25 iOS 常見(jiàn)知識(shí)點(diǎn) 鎖是最常用的同步工具。一段代碼段在同一個(gè)時(shí)間只能允許被有限個(gè)線程訪問(wèn),比如一個(gè)線程A進(jìn)入需要保護(hù)代碼之前添加簡(jiǎn)單的互斥鎖,另一個(gè)線程B就無(wú)法訪問(wèn),只有等待前一個(gè)線程A執(zhí)行完被保護(hù)的代碼后解鎖,B線程才能訪問(wèn)被保護(hù)代碼。iOS中的八大鎖NSLock@protocolNSLocking-(void)lock;-(void)unlock;@end@interfaceNSLock:NSObject<NSLocking>{@privatevoid*_priv;}-(BOOL)tryLock;-(BOOL)lockBeforeDate... 繼續(xù)閱讀 >
201604-12 iOS 一個(gè)簡(jiǎn)單的通訊錄 用tableview寫(xiě)了一個(gè)簡(jiǎn)單的通訊錄,話不多說(shuō),咱們慢慢構(gòu)建。首先,你需要一個(gè)tableview(這是肯定的。。代碼就不貼了哈),接下來(lái),你需要對(duì)數(shù)據(jù)源進(jìn)行處理,按A-Z首字母分類。UILocalizedIndexedCollation*indexedCollation=[UILocalizedIndexedCollationcurrentCollation];[self.sectionHeaderArrayaddObjectsFromArray:[indexedCollationsectionTitles]];NSMutableArray*sortarray=[[NSMutableArrayalloc]init];... 繼續(xù)閱讀 >
201603-22 iOS程序員必看之熱門(mén)書(shū)單 只要是一說(shuō)想學(xué)iOS,可能很多人都會(huì)建議你去學(xué)Swift,但是,這可能是個(gè)誤區(qū),iOS開(kāi)發(fā)的第一技能是精通Objective-C,原因很簡(jiǎn)單,swift目前還不成熟,第三方庫(kù)不夠多,而且swift只是表面上簡(jiǎn)單,其實(shí)水很深。其實(shí),小編建議的是,多看書(shū)!畢竟看一本適合自己的好書(shū),就是和大神一次傾心的談話。下面雙手奉上iOS程序員應(yīng)看的幾大熱門(mén)書(shū)單。(針對(duì)于下面推薦的書(shū)籍中大家可以先去關(guān)注英文原版,畢竟翻譯的書(shū)籍中都有一定的語(yǔ)法... 繼續(xù)閱讀 >
201603-04 淺談iOS的文件操作 一、沙盒路徑沙盒主路徑:是程序運(yùn)行期間系統(tǒng)會(huì)生成一個(gè)專屬的沙盒路徑,應(yīng)用程序在使用期間非代碼的文件都存儲(chǔ)在當(dāng)前的文件夾路徑里面我們通過(guò)以下代碼可以打印出沙盒主路徑NSString*homePath=NSHomeDirectory();NSLog(@"%@",homePath);我們根據(jù)打印出的路徑前往文件夾可以進(jìn)入包含DocumentsLibrary和tmp文件夾的文件夾這個(gè)就是沙盒主路徑Documents:用來(lái)存儲(chǔ)永久性的數(shù)據(jù)的文件程序運(yùn)行時(shí)所需... 繼續(xù)閱讀 >
201603-03 IO多路復(fù)用深入淺出 Java程序員進(jìn)階三條必經(jīng)之路:數(shù)據(jù)庫(kù)、虛擬機(jī)、異步通信。前言從零單排高性能問(wèn)題,這次輪到異步通信了。這個(gè)領(lǐng)域入門(mén)有點(diǎn)難,需要了解UNIX五種IO模型和TCP協(xié)議,熟練使用三大異步通信框架:Netty、NodeJS、Tornado。目前所有標(biāo)榜異步的通信框架用的都不是異步IO模型,而是IO多路復(fù)用中的epoll。因?yàn)镻ython提供了對(duì)Linux內(nèi)核API的友好封裝,所以我選擇Python來(lái)學(xué)習(xí)IO多路復(fù)用。IO多路復(fù)用select舉一個(gè)E... 繼續(xù)閱讀 >
201602-29 ios 照相機(jī)和相冊(cè)的調(diào)用 一個(gè)簡(jiǎn)單的功能,上傳照片或者拍照可以用到.//首先遵循兩個(gè)代理<UIImagePickerControllerDelegate,UINavigationControllerDelegate>//我們創(chuàng)建一個(gè)btn和一個(gè)imageview,btn用來(lái)觸發(fā)事件調(diào)起照相機(jī)和相冊(cè)的功能,imageview用來(lái)展示選取或者拍攝的圖片.self.view.backgroundColor=[UIColorwhiteColor];UIButton*btn=[[UIButtonalloc]initWithFrame:CGRectMake(100,100,200,50)];btn.backgroundColor=[UIColorblac... 繼續(xù)閱讀 >
201602-26 iOS繪圖 介紹說(shuō)到iOS的繪圖肯定就是CoreGraphics。CoreGraphicsFramework是一套基于C的API框架,使用了Quartz作為繪圖引擎。它提供了低級(jí)別、輕量級(jí)、高保真度的2D渲染。該框架可以用于基于路徑的繪圖、變換、顏色管理、脫屏渲染,模板、漸變、遮蔽、圖像數(shù)據(jù)管理、圖像的創(chuàng)建、遮罩以及PDF文檔的創(chuàng)建、顯示和分析。獲取圖形上下文CoreGraphicsAPI所有的操作都在一個(gè)上下文中進(jìn)行。所以在繪圖之前需要獲取該上下文并傳入執(zhí)行渲染... 繼續(xù)閱讀 >
201602-25 iOS獲取設(shè)備信息與應(yīng)用信息 圖片來(lái)源于網(wǎng)絡(luò)iOS獲取設(shè)備信息在iOS開(kāi)發(fā)過(guò)程中,有時(shí)我們想獲取到設(shè)備的系統(tǒng)信息,這時(shí)就需要使用到UIDevice類,具體常用信息獲取方式如下:獲取設(shè)備唯一標(biāo)識(shí),同一個(gè)開(kāi)發(fā)商的APP獲取到的標(biāo)識(shí)是相同的,與UDID不同的是,在我們刪除了設(shè)備上同一個(gè)開(kāi)發(fā)商的所有APP之后,下次獲取到的將是不同的標(biāo)識(shí)[[UIDevicecurrentDevice]identifierForVendor];獲取設(shè)備系統(tǒng)名稱,如iPhoneOS[[UIDevicecurrentDevice]systemName];... 繼續(xù)閱讀 >