原创 Objective-C Method Swizzling

Objective-C 中的 Method Swizzling 是一種可以在程序運行時,修改方法調用的技術。是 OC 作爲動態語言的典型證明。 Method Swizzling 是 OC <objc/runtime.h> 類庫提供的

原创 CocoaPods 安裝和使用

一、CocosPods的安裝 1. 檢測是否已有 Ruby 環境     $ ruby -v 2. 若已有,則轉 3 。沒有則安裝: http://zeusyu.com/blog/change-computer.html https

原创 iOS通過http post上傳圖片

由於iOS無法通過html表單來上傳圖片,因此想要上傳圖片,必須實現http請求,而不能像其他語言那樣通過html表單的post就能上傳。 上傳圖片的http post請求的格式是這樣的:  Content-type: multipar

原创 ios鍵盤通知和自定義鍵盤

一.鍵盤通知 當文本View(如UITextField,UITextView, UIWebView內的輸入框)進入編輯模式成爲first responder時,系統會自動顯示鍵盤。成爲firstresponder可能由用戶

原创 iOS 開發者必知的 75 個工具(譯文)

原文地址:http://benscheirman.com/2013/08/the-ios-developers-toolbelt (需翻牆)   如果你去到一位熟練的木匠的工作室,你總是能發現他/她有一堆工具來完成不同的任務。  

原创 Objective-C FAQ 中文版

Objective-C FAQ 編輯:David Stes ( ) 發表:2003年1月28日 翻譯者: 目錄 * 目錄 * 1. 關於本FAQ + 1.1 我在哪裏可以找到本FAQ的最新版本? * 2. Objective-

原创 iOS版本檢測更新

        其實檢測當前版本是否爲最新版本,只需要比較當前 APP版本與APP Store上的版本號是否相同即可。如果相同,說明是最新版本,反之則不是最新版本!那麼問題來了。如何獲取APP Store 上APP的版本信息?方法很簡單:

原创 iOS Sqlite數據庫增刪改查基本操作

 研究了幾天的數據庫,終於把它給搞出來了。Sqlite是ios上最常用的數據庫之一,大家還是有必要了解一下的。這是仿照網上的一個例子做的,有些部分寫的不好,我稍作了修改,以講解爲主,主要讓大家能夠明白如何修改,明白原理,達到舉一反三的目

原创 正確使用Block避免Cycle Retain和Crash

Block簡介 Block作爲C語言的擴展,並不是高新技術,和其他語言的閉包或lambda表達式是一回事。需要注意的是由於Objective-C在iOS中不支持GC機制,使用Block必須自己管理內存,而內存管理正是使用Block坑最多

原创 通過代碼獲取工程目錄下plist文件下的內容

在做項目時,想通過Plist文件來動態獲取當前APP版本號,於是找了資料,順便做以下的記錄。 要獲取工程目錄下plist文件的方法有以下幾種: 1. 如果是訪問info.plist這個文件的話可以直接用下面的語句: [[N

原创 iOS實現單例

在MRC下如果想實現一個真正的單例(不能通過alloc來初始化不對象)必須重寫一下的一些方法,見代碼: @interface Manager : NSObject + (Manager*)sharedManager; @end #im

原创 NSDictionary實現原理

       NSDictionary(字典)是使用 hash表來實現key和value之間的映射和存儲的, hash函數設計的好壞影響着數據的查找訪問效率。數據在hash表中分佈的越均勻,其訪問效率越高。而在Objective-C中,

原创 MVC模式的升級MOVE

MVC模式在編程中的應用,是一個很了不起的主意。“數據模型(Model)”可以封裝與應用程序的業務邏輯相關的數據及對數據的處理方法;“視圖層(View)”能夠實現數據有目的的顯示;“控制器(Controller)”能夠在不同層面間起到組

原创 swift運算符重載

首先我們定義一個結構體 struct Point {     var x = 0.0     var y = 0.0 } 當 Point 的兩個變量相加時,我們需要這樣做: let p1 = Point(x: 1.0, y:

原创 讀 Animations Explained 筆記

原文地址:http://www.objc.io/issue-12/animations-explained.html 1. 當給layer添加animations時,是不會直接修改其屬性值的。 2. Core Animation維護兩個平