Time of Update: 2015-07-30
標籤: 在學習 Objective-C的過程中,感覺數組在這一個學習方面是一個比較大的應用域,所以寫這篇隨筆來總結一下。 首先聲明的是,與C語言的數組不同,Objective-C的是數組只能用來儲存物件,而不是儲存int 、double、char等基礎資料類型,一般要存這些基礎資料類型,對於我這個剛學 Objective-C的新手來說,我的做法是將有關數位基礎類型 如 int 、double、char首先轉換成一個叫做 NSNumber的類 char*類型的轉換成
Time of Update: 2015-08-07
標籤:OC它提供了一種不同的方式--Category,可以動態地添加新的行為已經存在的類(方法),這確保了較小的類的原始設計,然後逐漸加入擴充。正在使用Category擴張的上課時間,你並不需要建立一個子類,Category使用簡單的方法。實作類別模組化的相關方法,類方法分配到不同的分類檔案裡。以下我們通過三個分類範例來看一下怎樣使用分類:接著我們上一篇的代碼,以下我們建立一個Student的Test分類。建立步驟例如以下:watermark/2/text/aHR0cDovL2Jsb2cuY3N
Time of Update: 2015-08-06
標籤:單例和其它語言的單例產不多,可以說是最簡單的一種設計模式了。但是有幾個點需要注意下,單例就是一個類只有一個執行個體。所以我們要想辦法阻止該類產生別的執行個體,一般語言中都會將建構函式寫為private。但是OC中的函數並沒有限定符,所以我們需要用一些小技巧來屏蔽這一點。 應用情境類只能有一個執行個體,而且必須從一個為人熟知的訪問點對其進行訪問,比如Factory
Time of Update: 2015-08-02
標籤:objective-c ios ? 執行個體變數可?度 可見度 特點 public(公有的) 執行個體變數可以在類的外部和內部操作 protected(受保護的,預設的) 執行個體變數只能在本類和其?類內部操作 private(私人的) 執行個體對象只能在本類內訪問所謂的內部,指的是相應類的@implementation和@end之間。範例程式碼如下:#import
Time of Update: 2015-08-02
標籤: 原文連結 : The official raywenderlich.com Objective-C style guide原文作者 : raywenderlich.com Team譯文出自 : raywenderlich.com Objective-C編碼規範譯者 : Sam
Time of Update: 2015-07-31
標籤: 對於Objective-C 的數組 NSArray 只能存對象,不能存取基礎資料型別 (Elementary Data Type),如 整型int 、浮點型float、 雙精確度浮點型double、 字元型char,但Objective-C為了能夠將基礎資料型別 (Elementary Data Type)存到數組,有一個類型叫做NSNumber 的類型,叫做數字對象。(有些字詞用的不是很準確,待找到合適的詞定會修改過來)用法如下: // 將 整型int
Time of Update: 2015-07-31
標籤:ios objective-c ios開發 11.1 使用屬性值@property float rainHandling;//表明此類具有float類型的屬性,其名稱為rainHandling注意:屬性的名稱不必與執行個體變數名稱相同。@synthesize
Time of Update: 2015-07-26
標籤:手動記憶體管理MRC首先介紹一下引用計數器:用來儲存當前對象有幾個東西在使用它(數字)引用計數器的作用:用來判斷對象是否應該回收記憶體空間(如果對象不等於nil,當引用計數器為0,此時要回收對象的記憶體空間)引用計數器的操作:retain 使得引用計數器+1release 使的引用計數器-1retainCount 得到引用計數器的值如果一個對象被釋放的時候,會調用該對象的dealloc方法注意:dealloc方法是NSObject
Time of Update: 2015-07-26
標籤:中介者模式中介者模式很好的詮釋了迪米特法則,任意兩個不相關的對象之間如果需要關聯,那麼需要通過第三個類來進行。中介者就是把一組對象進行封裝,屏蔽了類之間的互動細節,使不同的類直接不需要持有對方引用也可以進行訪問。中介者Mediator會持有同事類(就是需要處理互動邏輯的對象)Colleague的引用,同時每個colleague也會持有Mediator一份引用。這樣colleague如果有任何和別的類互動的請求就會發給Mediator,對改組對象進行瞭解耦合。其實我們平時經常寫的視圖控制器本
Time of Update: 2015-07-24
標籤:objective-c 成員變數 靜態變數 可見度
Time of Update: 2015-07-23
標籤:objective-c xcode 文法 迴圈 for 在OC中,除了while這種迴圈方式外,還有另外for迴圈和do-while迴圈,它們在不同的商務邏輯下會有不同的作用。可以和C語言和Java對比著學習。(一)代碼一:int main(int argc,
Time of Update: 2015-07-22
標籤:1.代碼中增加標記 #pragma mark - #pragma mark 2.點文法Person *p = [Person new];// 點文法的本質還是方法調用p.age = 10; // [p setAge:10];int a = p.age; // [p age]; 3.成員變數的範圍@public : 在任何地方都能直接存取對象的成員變數@private :
Time of Update: 2015-07-22
標籤:objective-c xcode 無論是哪一個程式員,或者是學習哪一門電腦語言,寫的第一個程式基本上就是Hello World。今天我們用OC來實現第一個程式:Hello World。 在Xcode中選擇建立一個項目,在對話方塊中選擇OS X,下方選擇Application,
Time of Update: 2015-07-21
標籤:objective-c runtime 內容列表物件模型(結構定義,類對象、元類和執行個體對象的關係)訊息傳遞和轉寄機制runtime系統功能理解物件模型結構定義對象(Object): OC中基本構造單元 (building block),用於儲存和傳遞資料。可以在objc.h的檔案中尋找到對象結構的定義,如下所示即對象結構為Class類型的isa,而Class是
Time of Update: 2015-07-21
標籤:單例和其它語言的單例產不多,可以說是最簡單的一種設計模式了。但是有幾個點需要注意下,單例就是一個類只有一個執行個體。所以我們要想辦法阻止該類產生別的執行個體,一般語言中都會將建構函式寫為private。但是OC中的函數並沒有限定符,所以我們需要用一些小技巧來屏蔽這一點。 應用情境類只能有一個執行個體,而且必須從一個為人熟知的訪問點對其進行訪問,比如Factory
Time of Update: 2015-07-20
標籤:抽象原廠模式理解了Factory 方法模式,其實抽象工廠和Factory 方法模式有很多的相似之處。抽象工廠同樣是分離用戶端對象的建立和邏輯代碼的,但是抽象工廠往往是產生一組資料而不單單是產生一個產品。抽象工廠提供一個建立一系列相關或相互依賴對象介面,而無需制定它們具體的類。 抽象工廠與Factory 方法抽象工廠通過對象組合建立抽象產品建立多系列產品必須修改父類的介面才能支援新的產品 Factory
Time of Update: 2015-07-19
標籤:重要知識點個人理解記錄第一條:OC 是訊息結構語言,運行時解析,編譯時間不care第二條:標頭檔引入盡量不要再.h檔案中(編譯費事),哪裡用到哪裡匯入,一般在.m中匯入。不要忘記@class可以在.h檔案中聲明。第三條:多用簡化文法,例如 NSArray *a = @[@"x",@"xx"];對於可變數組 [@[@"s",@"ss"] mutableCopy];第四條:少用#define定義常量。 static NSString *const xxx = @"222";.h檔案#
Time of Update: 2015-07-19
標籤:滑動刪除在當前的ios版本中已經支援了,但是遇到複雜的比如,滑動後的功能有多個,並不是刪除功能,那麼你就得自己寫,我說得沒錯吧.......... 其實關於滑刪嘛,在以前的項目中也遇到過,當時ios還不支援滑刪,所以只有看自己的了,當時我是在code4app上下的案例修改的,所以此功能以前也做好過,但是可悲的是android那邊的程式員在網上下來案例後修改不出項目需求效果,固這個功能最後被項目經曆是閹割了。。。。。歲月如梭,公司已換了多個呵呵..... 當前公司這個項目
Time of Update: 2015-07-18
標籤: http://www.justinyan.me/post/1306一、問題起源一切起源於Apple官方文檔裡面關於單例(Singleton)的示範代碼:Creating a Singleton Instance.主要的爭議集中在下面這一段:?0102030405060708091011121314static MyGizmoClass *sharedGizmoManager = nil;+
Time of Update: 2015-07-16
標籤:As a local variable:returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};As a property:@property (nonatomic, copy) returnType (^blockName)(parameterTypes);As a method parameter:-