原创 iOS內存管理--深、淺拷貝與copy、strong

深.淺拷貝 copy/mutableCopy NSStringNSString *string = @"漢斯哈哈哈"; // 沒有產生新對象 NSString *copyString = [string copy]; // 產生新對象

原创 系統學習hash算法(哈希算法)

系統學習hash算法(哈希算法) 轉載請說明出處。 前言: 關於本文《系統學習hash算法》的由來。在看到了《十一、從頭到尾徹底解析Hash 表算法》這篇文章之後,原文中沒有暴雪hash快的原因分析以及和別的hash方法比能快多少,結

原创 iOS10App如何跳轉到系統Wi-Fi設置

     在最近做的一個Wi-Fi類的項目,需要實現類似萬能鑰匙中點擊一個Wi-Fi跳轉到系統Wi-Fi設置界面的功能。廢話我就不多說了,下面就是實現代碼了。 NSString * urlString = @"App-Prefs:ro

原创 GCD導致死鎖的原因和解決方案

GCD提供了功能強大的任務和隊列控制功能,相比於NSOperationQueue更加底層,因此如果不注意也會導致死鎖。 所謂死鎖,通常指有兩個線程A和B都卡住了,並等待對方完成某些操作。A不能完成是因爲它在等待B完成。但B也不能完成,因

原创 數據結構學習之單向鏈表結構

注:本文的主要目的是爲了記錄自己的學習過程,也方便與大家做交流。 轉載請註明來自: http://blog.csdn.net/ab198604/ 最近突然間覺得應該補補IT技術的基礎的知識,因爲對這些基礎知識的梳理不僅可以對自己所掌握

原创 數據結構和算法系列之 二叉樹

歇了幾天了,沒有寫博客。從今天開始要總結樹和二叉樹了。那麼什麼是樹呢? 1,樹的定義: 1)有且僅有一個特定的稱爲根Root的結點。 2)當n>1時,其餘結點可分爲m(m>0)個互不相交的有限集,其中每個集合本身又是一個棵樹,並

原创 數據結構和算法系列之 五大查找之哈希查找

數據結構和算法系列13 五大查找之哈希查找 這一篇要總結的是五天查找的最後一篇,哈希查找,也稱爲散列查找(本文以哈希稱呼)。提起哈希,我的第一印象就是C#中的Hashtable類,它是由一組key/value的鍵值對組成的集合,

原创 數據結構和算法系列之 棧

閱讀目錄 1,什麼是棧2,棧的存儲結構3,棧的常見操作及實現代碼 上一篇總結完了線性表之鏈表,這一篇文章我們要總結的是棧,我想從以下幾個方面來進行總結。 1,什麼是棧? 2,棧的存儲結構? 3,棧的常見操作及代碼實現? 回到頂部

原创 數據結構和算法系列之 隊列

閱讀目錄 1,什麼是隊列2,隊列的存儲結構3,隊列的常見操作及實現代碼 上一篇講了棧,這一篇要總結的是我們常用的隊列,我想從以下幾個方面進行總結。 1,什麼是隊列? 2,隊列的存儲結構? 3,隊列的常用操作及實現代碼? 回到頂部

原创 使用NSRegularExpression自動識別電話號碼

最近項目中碰到了這樣一個需求,需要在一段文字中識別出手機號,並加上特殊顏色,和點擊事件。下面說下我的思路,拋磚引玉。(如果你有更好的想法,不妨交流下) 前提是基於TTTAttributedLabel實現的。因爲TTTAttribu

原创 iOS 環信集成 實現單聊

一、新建一個pch文件 1、創建方法: File -> New -> File… -> Other -> PCH File,如下圖所示: 2、設置Prefix Header 路徑 把pch文件往右邊的白色框框裏面拖,即可自動填充pc

原创 iOS經典面試題總結--內存管理

1.什麼是ARC? ARC是automatic reference counting自動引用計數,在程序編譯時自動加入retain/release。在對象被創建時retain count+1,在對象被release時count-1

原创 iOS Xcode中Version和Build的區別

在Xcode ->General ->Identity中有一個Version和Build,感覺這兩個都是版本號,有點傻傻分不清。 Version(應用程序發佈版本號) 對應的就是CFBundleShortVersionString。

原创 實現Label文本內容中電話號碼特殊顏色顯示並點擊電話號碼能撥打

[objc] view plain copy print? //獲取字符串中的電話號碼  NSString *regulaStr = @"\\d{3,4}[- ]?\\d{7,8}";  NSRange stringRan

原创 關於解決WKWebView不能顯示網頁PDF文件的實戰

測試提了這樣的一個bug,就結合項目開始搜索相關資料終於找到了解決方案: 直接上代碼: 添加WKWebView的代理方法 - (void)webView:(WKWebView *)webView decidePolicyForNa