學習啦 > 學習方法 > 通用學習方法 > 學習經驗 > iOS學習知識小結

iOS學習知識小結

時間: 威敏1027 分享

iOS學習知識小結

  在學習iOS的過程中,總會遇到不少問題,下面學習啦小編整理了關于iOS學習問題的總結

  iOS學習小結

  1.關聯(lián)

  objc_setAssociatedObject關聯(lián)是指把兩個對象相互關聯(lián)起來,使得其中的一個對象作為另外一個對象的一部分。

  2.tableView的beginUpdates 和 endUpdates

  3.關于代碼與storyBoard的自動布局

  4.國際化與本地化,為了實現(xiàn)全球化

  5.技巧

  可以通過設置Scheme來設置app所運行的語言,你想要什么語言就是什么語言,而不用重新設置系統(tǒng)的語言。

  6.ios8新特性,加載js

  如果我想要加載一個形如網頁的東西,那么我需要對整個網頁進行動態(tài)的編輯,圖文混編,但是這樣做那面會帶來很困難的操作,其實服務端那邊很好的可以解決這個問題,用一個網頁即可以搞定。服務端那邊只需返回一個html文檔,然后客戶端根據這個html文檔進行解析即可。

  WKWebView新特性

  · 在性能、穩(wěn)定性、功能方面有很大提升(最直觀的體現(xiàn)就是加載網頁是占用的內存,模擬器加載百度與開源中國網站時,WKWebView占用23M,而UIWebView占用85M);

  · 允許JavaScript的Nitro庫加載并使用(UIWebView中限制);

  · 支持了更多的HTML5特性;

  · 高達60fps的滾動刷新率以及內置手勢;

  · 將UIWebViewDelegate與UIWebView重構成了14類與3個協(xié)議

  7.技巧

  寫 函數(shù)的時候一定要判斷數(shù)據的安全性,這樣出錯的幾率就會很小,尤其是要判斷它的類型安全,是否為空等,不然程序會奔潰。還有需要注意的地方就是,寫每一個函數(shù)的時候要多方面進行考慮,考慮代碼的合法性。使用前不判斷參數(shù)的正確性,在函數(shù)內部對參數(shù)的可靠性進行判斷。如果這樣的話,你用到函數(shù)的時候都需要對這些參數(shù)進行判斷其合法性如果放倒函數(shù)中那么只需要判斷一次就可以了。

  8.應用內購買

  9.利用sqlite創(chuàng)建索引,索引是關系數(shù)據庫中用于存放每一條記錄的一種對象,主要目的是加快數(shù)據的讀取速度和完整性檢查。索引是對數(shù)據庫表中一列或多列的值進行排序的一種結構,使用索引可快速訪問數(shù)據庫表中的特定信息。

  10.數(shù)據庫版本的更新,當應用數(shù)據表需要添加新表的時候,需要對數(shù)據插入新的字段,那么久需要更新數(shù)據庫

  11.友盟統(tǒng)計,當應用上線后可以觀察到應用的日志文件,crash日志,頁面記時日志,收集并歸類崩潰日志,提供錯誤管理及分析工具,幫助開發(fā)者更好的解決問題,從而提高應用的穩(wěn)定性,改善應用質量。

  12.使用js的時候需要使用webView

  [webView stringByEvaluatingJavaScriptFromString:scriptString];

  13.做常用設備登陸的策略可以使用服務器,服務器把所有登陸過的設備都存儲下來。

  14.涉及到系統(tǒng)偏好設置的選項,把它都放到一個文件中,這樣修改起來比較容易。

  15.利用VVDocumenter-Xcode自動生成注釋,也就是xcode的插件.運行VVDOcumenter-Xcode編譯后,重新打開xcode即可以使用了

  16.如何使用xib進行界面的搭建,利用file’s owner進行關聯(lián),形如storyBoard中的segue

  17.如何在一個項目中使用多個storyBoard

  18.如何利用代碼與storyBoard或者XIB進行自動布局

  19、XIB進行國際化

  首先在工程中需要添加你想要使用的語言,然后新建視圖的時候選擇使用XIB,這樣xcode就會自動為你新建一個xib文件,然后在inspector中的localization中選擇localized,開始時一定要選擇base,然后勾選其他語言,這樣你發(fā)現(xiàn)XIB文件會有子目錄,然后在子目錄下你可以設置不同的語言翻譯。

  20.tableView小技巧

  根據設置不同的identifier取出不同類型的cell,在設置identifier的時候可以設置成類名,這樣的話就可以省很多事,而且很方便。

  21. 技巧

  [[UIApplication sharedApplication] setStatusBarHidden:YES];

  22.版本控制

  gitLab和sourceTree結合使用對源代碼進行管理,如何進行相關的配置

  23.發(fā)送語音消息

  三方庫opencore-amr

  24.Sqlcipher+FMDB,數(shù)據庫文件加密

  https://www.zetetic.net/sqlcipher/ios-tutorial/

  25.技巧

  圖片瀏覽XHImageViewer

  26.技巧

  根據button的不同狀態(tài)可以設置button的事件,相當于微信發(fā)送語音信息的按鈕,按住錄音,松開結束錄音并發(fā)送消息,

  27.技巧

  把block指針變量設置成私有的,這樣是不是很好用。

  28.關于runloop的一些了解,runloop是一種運行池,是和多線程有關的東西,監(jiān)聽事件的產生,如果有新事件,那么runloop會監(jiān)聽,一旦監(jiān)聽到了,就會執(zhí)行監(jiān)聽到的方法。

  29.技巧

  關于用戶頭像的問題,點擊放大,等其他手勢的庫ESImageViewController

  30.技巧

  NSString *pullSuccessIdString = [pullSuccessMsgIds componentsJoinedByString:@","];

  把數(shù)組中的每個元素用逗號拼接成一個字符串

  31.數(shù)據共享

  Multipeer Connectivity Framework ,近距離通信,雙方建立連接后可以彼此進行通信

  32.問題

  oc中不支持多繼承,也就說一個類只能繼承至一個類,不能繼承多個類。實現(xiàn)多繼承可以使用協(xié)議來實現(xiàn),也就說某個類中可以繼承多個協(xié)議,這久相當于多繼承,我可以擁有很多協(xié)議并且實現(xiàn)它。

  33.multipeerConnectivity的實現(xiàn),對文件進行共享

  34.indexPathForSelectedRow

  35如何給另一臺電腦進行真機調試

  《1》導出p12文件

  《2》導出描述文件

  《3》在另一臺電腦上雙擊即可以安裝了

2665187