Time of Update: 2018-08-19
(1)建立數組並輸出。直接使用NSArray建立數組,[arr count]調用的是方法,來計算數組的長度。[arr objectAtIndex:i]是調用方法擷取某個Index位置的對象。 #import <UIKit/UIKit.h>#import "AppDelegate.h"int main(int argc, char * argv[]) { NSArray *arr =
Time of Update: 2018-08-19
對於NSString,還有很多實用的方法,比如:大小寫轉換,前尾碼的匹配,字串的拼接,格式化字串的等等。下面我們來看一下: #import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { char *str1 = "Hello"; NSString
Time of Update: 2018-12-03
Posing,顧名思義,意思是“冒充”,它跟categories類似,但本質上不一樣,Posing存在的目的在於子類可以冒充父類,使得後續的代碼無需把父類修改為子類,就可以很方便的讓父類表現成子類的行為,從而實現非常方便的冒充,這在一般的語言中是難以想象的。 它允許你擴充一個class,並且全面的冒充這個super
Time of Update: 2018-12-03
objective-c中的protocol跟java中的介面interface和c++中的純虛類(purely virtual class)一樣,本質都是用於一個類需要遵循的某個通訊協定,從這個意義上看,objective-c的協議說法可能更加恰當。 一,如何定義protocol? protocol的定義非常簡單,基本遵循以下的格式即可: @protocol ProtocolName //Here is protocol method
Time of Update: 2018-12-03
Objective-C 有種叫做id 的型別,它的運作有時候像是void*,不過它卻嚴格規定只能用在對象。Objective-C 與Java 跟C++ 不一樣,你在呼叫一個對象的method 時,並不需要知道這個對象的型別。當然這個method 一定要存在,這稱為Objective-C 的訊息傳遞。Objective-C這點的屬性類別似javascript。 從這個意義看,id類型是Objective-C特有的引用對象泛型的一種手段。如下的demo:-(id)
Time of Update: 2018-12-03
objective-c的categories(分類) 一,當你想要為某個class 新增methods,你通常會擴充(extend,即繼承)它。然而這不一定是個完美解法,特別是你想要重寫一個class 的某個功能,但你卻沒有原始碼時。Categories 允許你在現有的class 加入新功能,但不需要擴充它。Ruby 語言也有類似的功能。例子一:1,MyObjectCateName.h:#import <Foundation/NSObject.h>#import "MyObject.
Time of Update: 2018-12-03
中文難以表達原著的意思Method and Class AttributesObjective-C now supports some gcc attributes for Objective-C methods.Syntactically, attributes for a method follow the method's declaration,and attributes for a method parameter sit between the parameter type
Time of Update: 2018-12-03
對於iPhone開發,執行的時候檢測我們都回會用instruments,但是有些時候我們可以扼殺這些於搖籃之中。不得不談的static analysise。這個可以build 檢查可以直接執行build and analyze執行,也看樣在GetInfo中在build選項中勾上,每次build都會執行。不過你會看到它在build的時候,會浪費這些分析的時間,導致build時間長。可以參考下面的。 The Xcode static analyzer is a great complement
Time of Update: 2018-12-03
在Objective-C中,事實上與所有的程式設計語言一樣,在兩個數相加時使用加號(+),在兩個數相減時使用減號(-),在兩個數相乘時使用乘號(*),在兩個數相除時使用除號(/)。這些運算子稱為二元算術運算子,因為它們運算兩個值或項。運算子的優先順序你已經看到如何在Objective-C中執行簡單的運算,例如,加法。下面的程式進一步說明了減法、乘法和除法運算。在程式中執行的最後兩個運算引入了一個概念,即一個運算子比另一個運算子有更高的優先順序。事實上,Objective-C中的每一個運算子都有與
Time of Update: 2018-12-03
現在,我們將用Objective-C定義一個實際的類,並學習如何使用類的執行個體。同樣,我們將先學習過程。因此,實際的程式範例可能不是特別實用,那些更加實際的內容將在稍後討論。假設要編寫一個用於處理分數的程式,可能需要處理加、減、乘、除等運算。如果你還不知道什麼是類,那麼可以從一個簡單的程式開始,代碼如下:代碼清單3-1// 採用分數的簡單程式 #import <Foundation/Foundation.h> int main (int argc, char * argv[]){
Time of Update: 2018-12-03
form http://topic.csdn.net/u/20091212/14/eed674bc-b074-4269-8450-f9ca659103c0.html 1. 最大的相同:都是從c演化過來的物件導向語言。2. 最大的不同:c++是靜態語言,而OC是動態類型識別語言?OC提供了運行期動態綁定機制。 OC裡,把訊息發到一個對象上,如果對象不能處理此訊息,也無所謂。 而c++中,則會crash. 3. 繼承:OC不支援多重繼承。4. 4, 函數名字解析也不同,
Time of Update: 2018-12-03
zproperty declaration 屬性聲明為執行個體變數指定屬性(attributes)的途徑, 可讓編譯好器產生 無泄漏和安全執行緒的訪問執行個體變數的方法.屬性的定義(property)@property (copy, nonatomic) NSString *title;什麼是assign,copy,retain之間的區別?assign: 簡單賦值,不更改索引計數(Reference Counting)。copy:
Time of Update: 2018-12-03
http://www.infoq.com/cn/articles/wwdc2012-objective-c-new-feature今年2012的WWDC上,蘋果針對Objective-C和LLVM編譯器都做了重大改進,我們來看一看Objective-C增加了哪些新特性。1、方法順序無關Objective-C類由聲明檔案h和實現檔案m組成,所有的public方法都在h檔案中聲明,private方法可以寫在m檔案中,但是在早期的編譯環境中需要注意方法的順序,例如下面的代碼,在早期的編譯環境會給出警告
Time of Update: 2018-12-03
第一種方法: view plain[UIView beginAnimations:@"Curl"context:nil];//動畫開始 [UIView setAnimationDuration:1.25];//動畫期間 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//動畫速度 [UIView setAnimationTransition: UIViewAnimationTransitionCurlUp//類型
Time of Update: 2018-12-03
多繼承Objective-C不支援多重繼承,但是我們有方法實現偽繼承.舉個例子,加入對象A無法處理訊息fun,而對象B可以處理,此時A已經繼承於類C,所以此時A不能再繼承B。我們可以用訊息轉寄的方式,來將訊息轉寄給能夠處理fun訊息的對象B。當然可以這麼實現1 A: 2 -fun 3 { 4 if([B respondTo:@selector(fun)]) 5 { 6 return [B fun]; 7 } 8
Time of Update: 2018-12-03
1. 用於通知某個對象該做什麼即通知對象去執行某動作1.1. 在Objective-C中,方括弧還有其它意義:它們用於通知某個對象該做什麼。例如:[shape draw]; //這句話說明,通知對象shape去執行draw這個動作,例如讓一個rectangle去畫一個矩形。1.2. 在Objective-C中,通知對象執行某種操作,被稱為:發送訊息。例如:[shape draw]; //表示向對象shape發送draw訊息。2.
Time of Update: 2018-12-03
開發過程中,我們會遇到很多關於字串的操作,它是一個常用的資料類型,下面對它的用法進行了匯總: //1、建立常量字串。 NSString *astring = @"This is aString!"; //2、建立Null 字元串,給予賦值。 NSString *astring = [[NSString alloc]init]; astring = @"This is a String!"; NSLog(@"astring:%@",astring); [
Time of Update: 2018-12-03
目錄About Objective-C EssentialsWhy are you reading this?Supported PlatformsThe History of Objective-CThe C Programming LanguageThe Smalltalk programming LanguageC meets SmalltalkObjective-C and AppleInstalling Xcode and Compiling Objective-C on Mac
Time of Update: 2018-12-03
原帖地址:http://blog.prosight.me/index.php/2009/09/347在Objective-c中,當一個類需要引用另一個類,即建立複合關係的時候,需要在類的標頭檔中建立被引用類的指標。 如:Car.h#import @interface Car:NSObject{ Tire *tires[4]; Engine
Time of Update: 2018-12-03
Objective-C中一些