前言 文章的初衷很簡單,是為了能夠正常顯示打印出字典里面的中文。因為默認情況下,直接打印字典的話,在Xcode控制臺上,中文會是亂碼的,需要Unicode轉碼才能看到中文。比...

前言 文章的初衷很簡單,是為了能夠正常顯示打印出字典里面的中文。因為默認情況下,直接打印字典的話,在Xcode控制臺上,中文會是亂碼的,需要Unicode轉碼才能看到中文。比...
開發過macOS應用的同學都知道,NSWindow擁有一個幾乎相同的titlebar,最左邊是交通燈按鈕,中間是標題等,那如何不要這些元素呢? 你會發現很完美,除了不能移動w...
NSButton并沒有UIButton可以設置state的接口,雖然系統提供了很多button的樣式,但是自定義程度不夠高,比如hover或highlighted的效果。沒關...
打開 115 離線下載的窗口,看到支持這么多種鏈接,你都清楚他們是什么原理嘛?接下來我們一個一個說。 一、HTTP(超文本傳輸協議)/ HTTPS 將文件放到服務器上,然后...
棧對象、堆對象 棧是一塊保存局部變量或函數參數值的內存區域。在現代的操作系統中,每個線程都有一個對應的棧。當函數調用時,一個棧幀Stack Frame會被放入棧內。棧幀保存了...
(辛苦二哥了????????????????) 前言: 兩次被蘋果官方拒絕,都是同一個問題,讓我懊惱了好一會。經過搜羅了一些資料信息后才發現,原來是審核又嚴了,以前“是否允許APP使用XXX...
個人的覺得應該從值類型和引用類型出發去理解;我們知道,在OC中struct是值類型的,也就是說當將一個結構體賦值給另一個結構體時,二者實際上是相互獨立互不影響的,那么對于文中說的這種情況,當使用@property修飾的結構體,我們雖然表面是可以直接訪問到,但是實際上我們是調用的編譯器自動生成的get方法,這樣就會有問題,因為struct是值類型,所以get方法會返回一個完全獨立的struct,而這種修改是完全沒有意義的,所以,編譯器就禁止了這種調用;而對于第二種情況,當使用@public修飾struct時,外部是直接訪問到的該struct,而不是該struct的一個值拷貝,所以是可以的
最近在補源碼閱讀方面的短板,第一個選擇的就是AFNetworking,一方面AF的編碼思路、代碼質量都屬于開源框架的上乘;另一方面也可以借機溫習一下網絡方面的東西。AF源碼解...
最近很多同學問我,swift語言中,??是怎么回事。因為在微信交流中,問題不能被清晰表述,所以我很奇怪對于這么簡單的一個運算符,會有這么多同學有疑問。后來隨著對問題理解的深入...
寫在開頭: 本來這篇內容準備寫在AFNetworking到底做了什么?(三)中的,但是因為我想在三中完結這個系列,礙于篇幅所限、并且這一塊內容獨立性比較強,所以單獨拎出來,寫...
RAC 指的就是 RactiveCocoa ,是 Github 的一個開源框架,能夠幫我們提供大量方便的事件處理方案,讓我們更簡單粗暴地去處理事件,現在分為 Reactive...
寫在開頭: 作為一個iOS開發,也許你不知道NSUrlRequest、不知道NSUrlConnection、也不知道NSURLSession...(說不下去了...怎么會什么...
寫在開頭: 大概回憶下,之前我們講了AFNetworking整個網絡請求的流程,包括request的拼接,session代理的轉發,response的解析。以及對一些bug的...
前言 iOS開發中,用來顯示一個html頁、H5頁,經常會用的一個控件是WebView。說到WebView,你知道多少呢?是簡單的展示,還是要和OC交互實現比較復雜的功能呢?...
本文長期更新!M系列芯片的機型也適用 準備(這個很重要): 你大概率需要個梯子,并且確保終端能夠正常通過梯子訪問網絡: 安裝前:給Terminal終端配置網絡代理[https...
demo地址:https://github.com/xiaochaofeiyu/YSCAnimation有用的話求個star,歡迎建議討論。 1. CAGradientLay...
歡迎訪問我的博客muhlenXi,該文章出自我的博客。 導語: 在項目中,有時需要跳轉到系統設置的某一個界面讓用戶去設置相關屬性。比如一個藍牙的APP需要檢測用戶是否打開了藍...
背景 上一篇博客iOS 10 消息推送(UserNotifications)秘籍總結(一)發布后被 簡書編輯推薦至首頁,這著實讓我受寵若驚啊。可是好事不長,后面發生了讓我傷心...
靜默推送 先來看下普通推送和靜默推送的區別: 普通推送:收到推送后(有文字有聲音),點開通知,進入APP后,才執行-- (void)application:(UIApplic...