原创 iOS 學習資料整理

這份學習資料是爲 iOS 初學者所準備的, 旨在幫助 iOS 初學者們快速找到適合自己的學習資料, 節省他們搜索資料的時間, 使他們更好的規劃好自己的 iOS 學習路線, 更快的入門, 更準確的定位的目前所處的位置. 該文檔會持續

原创 iOS開發—手動解析CrashLog(二)

在上篇文章《手動解析CrashLog之——方法篇》裏介紹了手動解析CrashLog的方法,接下來再說說dwarfdump、atos等解析工具是如何從符號表文件中獲取到崩潰位置信息的。一切還得從.dSYM符號表文件開始說起。 一、.d

原创 iOS動畫進階(十五)圖層性能

圖層性能 要更快性能,也要做對正確的事情。 ——Stephen R. Covey 在第14章『圖像IO』討論如何高效地載入和顯示圖像,通過視圖來避免可能引起動畫幀率下降的性能問題。在最後一章,我們將着重圖層樹本身,以發掘最好的性能

原创 Objective-C Runtime

原文轉自:http://tech.glowing.com/cn/objective-c-runtime/ Objective-C 擴展了 C 語言,並加入了面向對象特性和 Smalltalk 式的消息傳遞機制。而這個擴展的核心是一個用 C

原创 object-c 利器之KVO深究(一)-- KVO實現原理

iOS開發中,監聽對象某一屬性變化而做出響應的模式十分常用,俗稱,觀察者模式。 具體用法十分簡單,我們只需給想要監聽的對象添加一個觀察者就可以實現靈動的操控。如: @interface NSObject(NSKeyValueObse

原创 深究block

想了半天不知道怎麼開頭,那就直接開始吧。 其實block在工作中用到的地方很多,功能很強大,只是以前老是聽人說:“block會有很多坑,不熟悉的話還是用delegate代替吧”,自己也就知難而退。最近決定深究一下block,以後要廣泛使用

原创 Mac 解析xlog文件

1,安裝Python 2.7x 2,下載安裝pyelliptic1.5.7    https://github.com/yann2192/pyelliptic/releases/tag/1.5.7          解壓縮 終端,

原创 黑幕背後的__block修飾符

我們知道在Block使用中,Block內部能夠讀取外部局部變量的值。但我們需要改變這個變量的值時,我們需要給它附加上__block修飾符。 __block另外一個比較多的使用場景是,爲了避免某些情況下Block循環引用的問題,我們

原创 iOS開發—手動解析CrashLog(一)

解決崩潰問題是移動應用開發者最日常的工作之一。如果是開發過程中遇到的崩潰,可以根據重現步驟調試,但線上版本就無能爲力了。好在目前已經有很多不錯的第三方CrashLog蒐集平臺(如友盟、Crashlytics等)爲我們做好了解析工作,

原创 iOS動畫進階(十三)高效繪圖

高效繪圖 不必要的效率考慮往往是性能問題的萬惡之源。 ——William Allan Wulf 在第12章『速度的曲率』我們學習如何用Instruments來診斷Core Animation性能問題。在構建一個iOS app的時候

原创 <轉>趣談unicode,ansi,utf-8,unicode big endian這些編碼有什麼區別

偶然看到,挺有意思,轉發擴散~ 原文地址:http://blog.csdn.net/fanwenbo/article/details/2298800 從頭講講編碼的故事。那麼就讓我們找個草堆坐下,先抽口煙,看看夜晚天空上的銀河,然後想一

原创 iOS 7+,使用原生API生成QRCode。

iOS 7之後,可以通過原生API生成QRCode。 - (UIImage *)private_generateQRCodeImageWithContent:(NSString *)content { // 生成二維碼 C

原创 使用iOS 原生AES加密

// 和服務端約定:KeySize:kCCKeySizeAES128, Padding:PKCS7, mode:ECB, BlockSize:kCCBlockSizeAES128 - (NSString *)private_encrypW

原创 iOS開發中,__attribute__ 使用場景

在AvailabilityMacros.h 裏,定義了很多有用的宏: 1,__attribute__(( deprecated())) 在外邊使用Model的屬性或方法時,編譯器就會提出警告,形如下圖: 這樣在廢棄有些屬性時,可

原创 @synthesize name = _name;

下午突然碰到一個問題: Class.h @interface Class : NSObject @property (nonatomic, copy) NSString *name; @end Class.m @implementa