原创 iOS每日一練(1)---#import,類目和擴展,ARC,類拷貝

1.#import、#include和@class之間的區別 (1)#import和#include:效果相同,只是後者不會引起交叉編譯,確保頭文件只會被導入一次。 (2)#import和@class:#import包含了這個類

原创 iOS中的GCD(1)---串、並行隊列和同、異步添加

本文參考:《Objective-c高級編程》(如有侵權,立馬刪除) 一、GCD基本介紹 1.什麼是GCD: ①是異步執行任務的技術之一 ②一般“將應用程序中記述的線程管理的代碼”在“系統級實現” ③只需要定義想執行的任務並追

原创 iOS每日一練(2)

1.內存問題 ①dealloc: [super dealloc]; //把從父類中繼承來的實例變量釋放了 //以下兩個方法,self.xxx = nil;更好。將變量設置爲nil,可以防止野指針。 self.xxx = n

原创 iOS網絡編程---根據URL下載網絡文件的方法

下面是源碼,註釋掉的部分代碼是一次性下載的功能(不推薦),正常運行的代碼實現了: - 功能:根據提供的URL下載網絡文件 PS:其中有6個關鍵字,是實現該功能使用到的知識點,我在代碼的後面做了必要的歸納和整理。 #defin

原创 iOS之UI高級---如何理解圖文混排

參考資料: 1.http://www.allenchiang.com/2014/05/28/core-text/ 2.唐巧:《iOS進階》 一、iOS開發中的文字排版 通常我們使用UILabel、UITextField、UITextV

原创 iOS之網絡編程---網絡協議淺談

1.TCP/UDP協議: TCP:傳輸控制協議,提供面向連接的、可靠的、點到點的通信(可靠) 正式通信前必須要與對方建立連接(三次握手)。事先爲所發送的數據開闢出連接好的通道,然後再進行數據發送, UDP:用

原创 iOS之多線程---Runloop和多線程

1.線程與runloop的關係 原文地址1:http://blog.csdn.net/wzzvictory/article/details/9237973 原文地址2:http://blog.ibireme.com(本文還沒有寫,未完待

原创 iOS消息傳遞機制---KVC和KVO

一、什麼是KVC KVC,即指NSKeyValueCoding,一個非正式的protocol,提供一種機制來間接訪問對象的屬性。而不是通過調用Setter、Getter方法。 定義一個Student類,繼承於NSObject。 //h文件

原创 iOS中的GCD(2)---獲取隊列方法

有2種方法獲取隊列: ①dispatch_queue_create ②Main Dispatch Queue/Global Dispatch Queue 1.dispatch_queue_create //參數1:隊列名字 //參數2

原创 iOS之UI基礎---frame和bounds的區別

Frame和bounds的區別: ①Frame:view在父view座標系統中的位置和大小 ②bounds:view在本身座標系統中的位置和大小 ③center:view的中心店在父view座標系統中的位置和大小 經典:斯坦福大學上課

原创 iOS之多線程---三種多線程技術

1.多線程的基本概念和用法 ①進程:每一個進程都一是一個應用程序,都有獨立的內存空間。(一個程序也可以由多個進程)同一個進程中的線程共享內存中的存儲空間和資源 ②線程: 每一個程序都有一個主線程,調用

原创 iOS第三方框架---AFNetWorking詳解

AFNetworking 1)爲什麼使用: 簡單的向某個web站點的頁面提交請求並獲取服務器的響應,NSURLConnection能勝任。但是絕大部分web頁面受到保護,需要session和cookie的處理,複雜度提升。 afnet

原创 iOS第三方框架---SDWebImage詳解

SDWebImage 支持異步的圖片下載+緩存,提供了UIImageView+WebCache(類目)類用於加載網絡圖片。它的主要流程很複雜,但是可以具體歸結爲3個大類: 一.讀取URL,在緩存和硬盤中查找圖片 二.找

原创 iOS之工具類---常見的5頁導航控制頁面(附帶側邊控制器和主題管家類)

一個App常見的內容包括:NavigationController(上)、ViewController(中)、TabBarController(下) 還可以增加側邊控制器:MMDrawController(三方框架) 我實現了一個基本的

原创 iOS中的ARC---內存管理的思考方式

本文參考:《objective-c高級編程》 一、引用計數式內存管理的思考方式 ①自己生成的對象,自己持有 ②非自己生成的對象,自己也能持有 ③不再需要自己持有的對象時,釋放 ④非自己持有的對象,無法釋放 以下逐一做講解: ①自己生