原创 NSDictionary或者NSArray中包含NSNull對象,無法寫入文件

場景:使用AFNetworking2.0+時,調用POST方法來請求數據,爲了支持離線瀏覽,準備將返回的responseObject寫入本地文件進行保存。 問題:已確認responseObject的class是NSDictionary,但

原创 Objective-C中的static用法

Objective-C中的static變量表示的是類變量,僅初始化並存儲一次,該類的所有實例共享該變量。 一般都定義在.m文件中,函數體之中或函數體之外。定義在函數體之中的static變量(局部靜態變量),其作用域就是所在的函數體,即僅在

原创 進程和線程的聯繫和區別

定義: 一、進程是具有一定獨立功能的程序關於某個數據集合上的一次運行活動,是系統進行資源分配和調度的一個獨立單位。 二、線程是進程的一個實體,是CPU調度和分派的基本單位,他是比進程更小的能獨立運行的基本單位,線程自己基本上不擁有系統

原创 HTTP POST GET 本質區別詳解

一 原理區別     一般在瀏覽器中輸入網址訪問資源都是通過GET方式;在FORM提交中,可以通過Method指定提交方式爲GET或者POST,默認爲GET提交 Http定義了與服務器交互的不同方法,最基本的方法有4種,分別是GET

原创 堆和棧的區別(轉過無數次的文章)

一、預備知識—程序的內存分配    一個由C/C++編譯的程序佔用的內存分爲以下幾個部分    1、棧區(stack)—   由編譯器自動分配釋放   ,存放函數的參數值,局部變量的值等。其    操作方式類似於數據結構中的棧。    2

原创 TCP/IP協議與UDP協議的區別

TCP(Transmission Control Protocol,傳輸控制協議)是面向連接的協議,也就是說,在收發數據前,必須和對方建立可靠的連接。一個TCP連接必須要經過三次“對話”才能建立起來,其中的過程非常複雜,只簡單的描述下這

原创 iOS GCD使用指南

Grand Central Dispatch(GCD)是異步執行任務的技術之一。一般將應用程序中記述的線程管理用的代碼在系統級中實現。開發者只需要定義想執行的任務並追加到適當的Dispatch Queue中,GCD就能生成必要的線程並計

原创 QQ 通信協議

QQ 通信協議

原创 MKNetworkKit 的使用

現在,大家使用最多的網絡框架基本上就是AFNetworking,ASIHttpRequest,MKNetWorkKit等。 ASIHttpRequest功能很強大,早期的項目使用的較多,只是後續不再更新維護了,因此已成爲過去時。 而AFN

原创 Obj-C的多態性、動態類型和動態綁定

Obj-C是一門強大的面向對象的編程,因此它具有面向對象的很多特徵,比如多態性,支持動態類型和動態綁定。我們來分別學習一下: 1. 多態性 多態性是個生物名詞,用來表示生物體在生命週期中的不同形態,用在編程語言中則表示相同的方法

原创 plist文件無法打包進.a靜態庫中

問題: 之前一直在做靜態庫的編寫與維護,也一直知道靜態庫的圖片資源是沒辦法打進.a中的。但是突然有個想法,因爲有很多參數的配置是在一個plist文件中的,雖然也知道這是一個plist文件,但是想想和圖片資源還是有一定區別的,所以就嘗試着能

原创 iOS多線程中performSelector: 和dispatch_time的不同

iOS中timer相關的延時調用,常見的有NSObject中的performSelector:withObject:afterDelay:這個方法在調用的時候會設置當前runloop中timer,還有一種延時,直接使用NSTimer來配

原创 iOS靜態庫.a不區分ARC和MRC

問題: 有同事問:“我們自己開發的SDK是支持ARC還是不支持ARC?” 答:“由於之前一直在非ARC環境下開發,故不支持。” 問:“那集成到支持ARC的項目中會有問題嗎?” 答:“不會。” 分析:其實ARC只是編譯器的特性,在編譯代碼的

原创 iOS中類工廠方法介紹

類工廠的主要理念在於產生並返回一個特定類的實例對象,並在產生對象時儘可能的預填充數據。相比調用 alloc/init 再設置特性,使用類工廠的一個顯而易見的好處就是,你的代碼將會縮短很多。   這樣,你就能使用一個方法來創建一個對象

原创 AppStore審覈新規則:帶有版本更新的App將被拒絕

問題:之前上傳了一個APP到AppStore上進行審覈,過了幾天被拒絕了,理由如下: 10.6 - Apple and our customers place a high value on simple, refined, creati