Time of Update: 2018-12-05
二者的區別在於:1.import會包含這個類的所有資訊,包括實體變數和方法,而@class只是告訴編譯器,其後面聲明的名稱是類的名稱,至於這些類是如何定義的,暫時不用考慮,後面會再告訴你。2.在標頭檔中, 一般只需要知道被引用的類的名稱就可以了。 不需要知道其內部的實體變數和方法,所以在標頭檔中一般使用@class來聲明這個名稱是類的名稱。
Time of Update: 2018-12-05
話說學習Object-c有很多入門書籍,在這裡就不一一列舉了。但是這些書都有一個小毛病,就是翻譯的語句,有的時候很讓人費解。前幾天在逛cocoachina的時候看到了一個文章,以為名為beanwolf的會員寫了原創的學習Object-c的筆記,拜讀之後感覺非常好!感覺寫的很精練,都是編程的時候需要注意的東西和不容易理解的內容。 第一季:《Object-C 的文法與 Cocoa 架構》GNUStep 的安裝類定義Object-C 中的布爾類型Object-C 中的 null與
Time of Update: 2018-12-05
在使用Objective-C語言進行了一段時間的iOS開發之後,發現自己的語言基礎相對薄弱,於是開始彌補自己的短處。我發現在用過一種語言之後,再回過頭來看它的很多原理會發現有更加深刻的理解。下面就對一直困惑我的屬性和成員變數的用法和關係問題進行淺析,由於水平有限可能會有錯誤,請看過文章的人多多指正。1、屬性 關於屬性的用法在蘋果的官方文檔《The Objective-C Programming Language》中有詳細的說明,在這裡就不再贅述,連結如下: 《The
Time of Update: 2018-12-05
首先需要引入AudioTool 這個framework- (id)initWithPath:(NSString *)path{ UInt32 size, maxPacketSize; char *cookie; int i; if (gThereIsAnActiveTrack) { NSLog(@"*** WARNING *** GBMusicTrack only plays one track at
Time of Update: 2018-12-05
http://www.codeios.com/thread-26-1-1.html因為iOS SDK相對比較底層,所以開發人員就得受累多做一些體力活。不過幸運的是,有很多第三方的類庫可以用來簡化很多不必要的工作.經過作者團隊的謹慎討論,他們 評選出了10款能夠極大提高iOS開發效率的類庫,根據原文作者的評價來看,基本上有了這10款工具,做iOS開發就真的跟泡Cocoa一樣了。1. MBProgressHUD -
Time of Update: 2018-12-05
物件導向的三大特點封裝、繼承、多態 封裝:隱藏內部實現,穩定外部介面. 封裝就是定義類 定義屬性 定義方法 屬性封裝了setter get方法 @property(nonatomic,retain)NSString *name,*sex; 類封裝了執行個體變數和方法 .h檔案 #import <Foundation/Foundation.h>
Time of Update: 2018-12-05
1.為什麼要管理記憶體 系統資源有限,會為每個程式分配30M的記憶體,超過20M會收到記憶體警告,超過30M,sorry系統將會終止你的應用程式。 1)記憶體管理機制 ObjC中提供了一個機制來實現上面提到的這個邏輯模型,它被稱為“引用計數”(retain counting): 每一個對象都有一個引用計數(retain count) 對象被建立的時候,引用計數的值是1
Time of Update: 2018-12-05
1.類目(類目也稱為分類,為沒有源碼的類(系統類別、別人的類)添加方法) 1)作用 可以擴充別人的類,可以作為子類的替代方法。 把同一類的代碼放到多個檔案中。 2)形式 檔案名稱:.h檔案(目標類+類目名.h) .m檔案(目標類+類目名.m) 3)注意 可以為同一個類添加多個類目,但類目名和方法不能重複 不要隨意重寫原類中的方法
Time of Update: 2018-12-05
KVC [對象 setValue:aValue forKey:aKey];//為對象的aKey變數賦值 aValue = [對象 valueForKey:aKey];//把對象的aKey變數的值取出來 [對象 setValue:aValue forKeyPath:aKeyPath];//設定值 id aValue = [對象 valueForKeyPath:aKeyPath];//取值 注意:keyPath裡邊的變數!
Time of Update: 2018-12-05
objective-c protocol delegate
protocol-協議,就是使用了這個協議後就要按照這個協議來辦事,協議要求實現的方法就一定要實現。
delegate-委託,顧名思義就是委託別人辦事,就是當一件事情發生後,自己不處理,讓別人來處理。
當一個A view 裡麵包含了B view
b view需要修改a view介面,那麼這個時候就需要用到委託了。
需要幾個步驟
1。首先定一個協議
2。a view實現協議中的方法
3。b view設定一個委託變數
4。把b
Time of Update: 2018-12-05
轉載請標明出處:blog.csdn.net/zhangxingping屬性的聲明 屬性的聲明使用關鍵字@property。屬性的聲明可以是在@interface類中的方法聲明塊的任何地方。@property同樣也可以在protocal(協議)和category(種類)中。其通用形式如下:@property ( attributes) type name
Time of Update: 2018-12-05
轉載請標明出處:blog.csdn.net/zhangxingping關於屬性 在C++中,通常需要編寫Getter和Setter方法來擷取或者是設定執行個體變數的值。這兩種方法需要在程式中顯示的完成。這種方式在Objective-C中也是適用的。但是Objective-C提供了一種更為便捷的方式來完成這種功能。它就是屬性。和C++中的顯示的Getter和Setter方法相比,屬性機制使得Getter函數和Setter來的更容易和更簡化。Objectivc-C中的屬性是通過關鍵字@
Time of Update: 2018-12-05
學習書目:Learn Objective-C on the Mac obj中建立新對象有兩種方式:[classname new]和[[classname alloc] init]。兩種方法等價,Cocoa慣例是使用alloc和init。 1.指派至: allocation是一個新對象誕生過程,從OS獲得一塊記憶體並指定為存放對象的執行個體變數的位置。同時alloc方法還將這塊記憶體地區全部初始化為0。BOOL初始化為NO,int初始化為0,float初始化為0.0
Time of Update: 2018-12-05
我們繼續就《Objective-C 分離介面和實現檔案》一文中的 Fraction 類說事。如果有一個方法能夠只用一條訊息即可設定 numerator 同時又可設定 denominator,那該有多好啊!沒問題,通過列出每個連續的方法並用冒號將其連起來,就可以定義一個接受多個參數的方法。用冒號串連的參數將成為這個方法名的一部分。例如,方法名 addEntryWithName: andEmail: 表示接收兩個參數的方法,這兩個參數可能是姓名和電子郵件地址。方法 addEntryWithName:
Time of Update: 2018-12-05
id 資料類型可儲存任何類型的對象。從某種意義說,它是一般物件類型。例如,程式行 id number; 將number聲明為id類型的變數。可聲明方法使其具有id類型的傳回值,如下: -(id) newObject: (int) type; 這個程式行聲明了一個名為newObject的執行個體方法,它具有名為type的單個整型參數並有id類型的傳回值。應該注意的是,對傳回值和參數型別宣告來說,id是預設的類型。因此,以下程式行: +allocInit;
Time of Update: 2018-12-05
轉載於:http://www.cnblogs.com/54007/archive/2011/02/11/1951355.html在C#中,我們用介面來實現多態。比如介面IOb,定義了1個方法F; 有兩個類A,B都實現了IOb介面。IOb item = new A();item.F();//執行的是A.F();item = new B();item.F();//執行的B.F(); 在objective-c中,interface
Time of Update: 2018-12-05
鎖是線程編程同步工具的基礎。鎖可以讓你很容易保護代碼中一大塊地區以便你可以確保代碼的正確性。 1 使用POSIX互斥鎖
Time of Update: 2018-12-05
http://unmi.cc/objective-c-dp-singletonObjective-C 設計模式之單例2011-08-25 — Unmi作為設計模式中最簡單的一個,單例模式還是在很多系統中都會用到,總有那麼一些執行個體,從始至終只需要它的一個執行個體,而且任何時候都要總方便的得到,像 Application 對象啦,環境對像啊。要保持你設計的類別人只會初始出一個執行個體來,像 Java/C++/C#
Time of Update: 2018-12-05
nonatomic:非原子性訪問,對屬性賦值的時候不加鎖,多線程並發訪問會提高效能。如果不加此屬性,則預設是兩個存取方法都為原子型事務訪問。(atomic是Objc使用的一種線程保護技術,基本上來講,是防止在寫未完成的時候被另外一個線程讀取,造成資料錯誤。而這種機制是耗費系統資源的,所以在iPhone這種小型裝置上,如果沒有使用多線程間的通訊編程,那麼nonatomic是一個非常好的選擇。)assign: 簡單賦值,不更改索引計數對基礎資料類型 (例如NSInteger)和C資料類型(int,
Time of Update: 2018-12-05
cocos2d-x學習交流群:140326755Email :