Time of Update: 2018-12-05
聲明歡迎轉載,但是請尊重作者勞動成果,轉載請保留此框內聲明,謝謝。文章出處:http://blog.csdn.net/iukey大概是因為 Objective-C 是 C的超集,所以Objective-C 也使用alloc來申請記憶體,不同的是C調用free來直接釋放記憶體,而Objective-C 不直接調用dealloc來釋放記憶體。整個Objective-C 都使用對象的引用,而每個對象都有一個引用計數器。當計數器為0時,系統調用dealloc來釋放記憶體。Objective-C
Time of Update: 2018-12-05
NSDictionary的作用與Java 中的字典類相同,提供了“鍵-值”對的集合。NSDictionary 常用方法總結+(id)dictionaryWithObjectsAndKeys:obj1,key1,obj2,key2,......nil順序添加對象和索引值來建立一個字典,注意結尾是nil-(id)initWithObjectsAndKeys::obj1,key1,obj2,key2,......nil初始化一個新分配的字典,順序添加對象和值,結尾是nil-(unsigned int)
Time of Update: 2018-12-05
NSString 常用方法總結+(id)stringWithContentsOfFile:path encoding:enc err建立一個新字串並將其設定為 path 指定檔案的內容,使用字元編碼 enc,在err 上返回錯誤+(id)stringWithContentsOfURL:url encoding:enc err建立一個新字串並將其設定為 url 所指向的內容,使用字元編碼 enc,在err 上返回錯誤+(id)string建立一個新的Null
Time of Update: 2018-12-05
二者的區別在於:1.import會包含這個類的所有資訊,包括實體變數和方法,而@class只是告訴編譯器,其後面聲明的名稱是類的名稱,至於這些類是如何定義的,暫時不用考慮,後面會再告訴你。2.在標頭檔中, 一般只需要知道被引用的類的名稱就可以了。 不需要知道其內部的實體變數和方法,所以在標頭檔中一般使用@class來聲明這個名稱是類的名稱。
Time of Update: 2018-12-05
在做iPhone開發時,經常會碰到要串連多個字串,以下是本人總結的方法:NSString *hello=@"Hello,";NSString *world=@"World!";NSString *helloWorld;將hello和world這兩個字串串連。方法一:helloWorld = [NSString initWithFormat:@"%@%@", hello, world ];方法二: helloWorld = [hello stringByAppendingString:world]
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
我們在C/C++開發中常會用到結構體來協助我們簡單封裝基礎資料型別 (Elementary Data Type),在Objective-C中我們也可以使用結構體來完成資料類型的封裝。同時,Cocoa Touch還提供了一個NSValue來協助我們更好地在開發中使用結構體。
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 支援全域變數,主要有兩種實現方式:第一種和C/C++中的一樣,使用"extern"關鍵詞;另外一種就是使用單例實現。(比如我們經常會把一個變數放在AppDelegate裡面作為全域變數來訪問,其中AppDelegate就是一個單例類) 在Objective-C中如何?像C++中那樣的靜態成員變數呢?你需要做的是在一個類A的implementation(.m或者.mm)檔案中定義一個static變數,然後為A類定義靜態成員函數(class
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
原文地址:http://howtomakeiphoneapps.com/2009/05/for-and-foreach-loops-in-objective-c/ Loops are the gears of programming: they make your code take action.The two loops I use most often is the for loop (to do a predefined number of steps) and what is
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