Time of Update: 2018-12-05
NSDictionary的作用同JAVA中的字典相同,提供了“健-值”對的集合。比如,使用字典實現員工編號到員工姓名的存放,編號是一個鍵(唯一性),姓名是值.NSDictionary例子://用dictionaryWithObjectsAndkeys初始化一個靜態字典,記住以nil結束NSDictionary *employes = [NSDictionary dictionaryWithObjectsAndKeys:@"張三",@"1", @"李四",@"2",@"王五",@"3",nil];
Time of Update: 2018-12-05
在Objective-c中有int的資料類型,那為什麼還要使用數字對象NSNumber?這是因為很多類(如NSArray)都要求使用對象,而int不是對象。NSNumber就是數字對象,我們可以使用NSNumber對象來建立和初始化不同類型的數字對象。如:#import <Foundation/Foundation.h>NSNumber *myNumber,*floatNumber,*intNumber,*number1;//建立integer類型對象intNumber =
Time of Update: 2018-12-05
集合(NSSet)對象是一組單值對象的組合。比如,一個包含1到50個數位集合。集合對象的操作包括搜尋、增加、刪除集合中的成員,比較兩個集合、計算兩個集合的交集和並集等。NSSet常用方法:+(id)setWithObjects:obj1,obj2,obj3,...nil //使用一組對象建立新集合-(id)initWithObjects:obj1,obj2,...nil //使用一組對象初始化新分配的集合-(NSUInterger)count
Time of Update: 2018-12-05
一、類的繼承Objective-c中類的繼承與C++類似,不同的是Objective-c不支援多重繼承,一個類只能有一個父類,單繼承使Objective-c的繼承關係很簡單,易於管理程式。Objective-c中所有類的父類是NSObject。Objective-c中類的繼承例子:@interface Person: NSObject { NSString* name; int age; } - (NSString*) name; - (int) age;
Time of Update: 2018-12-05
Objective-c使用NSString來操作字串,NSString稱為不可修改字串是因為,當你使用NSString建立字串不能再修改字串的內容及長度。1、建立一個字串NSString *str =@"我是字串";2、格式化字串NSString *name =@"zhang";NSString *log = [NSString stringWithFormat:@"I am '%@'",name];NSLog(@"str:%@",log);格式化輸出符號:%@ 對象 %d, %i
Time of Update: 2018-12-05
對於數組、字典和集合,Objective-c提供了枚舉方法來訪問各個元素,具體方法有兩種:方法1:NSArray *array = ...;Member* member;int count = [array count];for(int i = 0 ; i < count ; i++) { member= [array objectAtIndex:i]; NSLog([member description]);}方法2:for(Member* membre in array) {
Time of Update: 2018-12-05
在Objective-c中定義類時,也可以使用類似於C++中public、private來修飾成員變數,如下:@intterface Test:NSObject{@publicint i;int j;@protectedfloat m;float n;@privatedouble x;double y;}@protected:
Time of Update: 2018-12-05
NSString本身不允許修改內容及字串的長度,如果要修改的話,可以使用NSMutableString。NSMutableString是NSString的子類,所以,所有NSString的方法都適用於NSMutableString。NSString *str1 = @"Welcome,same!";NSString *str2,*str3;NSMutableString *mstr;NSRange range;mstr = [NSMutableString
Time of Update: 2018-12-05
category是Objective-c裡面最常用的功能之一。category可以為已經存在的類增加方法,而不需要增加一個子類。類別介面的標準文法格式如下:#import "類名.h"@interface 類名 (類別名)//新方法的聲明@end類別實現如下:#import "類名類別名.h"@implementation 類名
Time of Update: 2018-12-05
一個架構(Framework)就是一個軟體包,它包含了多個類。Mac操作提供了幾十個架構,從而協助我們快速地在Mac系統上開發應用程式。在這些架構中,有一些稱為基礎架構,其中的類包括:字串(NSString)、數字(NSNumber)、數組(NSArray)、字典(NSDictionary)、集合(NSSet)等。所有基礎架構上的類都同使用者介面無關。為了使用這些類,需要在程式中,使用下述語句來匯入基礎架構的標頭檔:#import
Time of Update: 2018-12-05
這裡列出Objective-c中專屬資料類型:一、字串 在Objective-c中,字串常量是由@和一對從引號括起的字串序列。比如:@"China"、@"objective-c"等都是合法的字串常量。二、id類型 id類型是Objective-c中一個比較獨特類型。 在概念上、類似Java中的Object類,可以轉換為任何資料類型。 換句話說,id類型的變數可以存放任何資料類型的對象。
Time of Update: 2018-12-05
一、NSArray是靜態數組,建立後數組內容及長度不能再修改。執行個體://用arrayWithObjects初始化一個不可變的數組對象。//初始化的值之間使用逗號分開,以nil結束。NSArray6 *city = [NSArray arrayWithObjects:@"上海",@"廣州",@"重慶",nil];for(int i=0; i < [city count];i++){ NSLog(@"%@",[city
Time of Update: 2018-12-05
協議的作用類似地C++中對抽象基類的多重繼承。類似於Java中的介面(interface)的概念。 協議是多個類共用方法的列表,協議中列出的方法在本類中並沒有相應實現,而是別的類來實現這些方法。 如果一個類要遵守一個協議,該類就必須實現特定協議的所有方法(可選方法除外). 定義一個協議需要使用@protocol指令,緊跟著的是協議名稱,然後就可以聲明一些方法,在指令@end之前的所有方法的聲明都是協議的一部分。如下:@protocol NSCopying-(id)
Time of Update: 2018-12-05
在上篇中,簡單介紹了委託如何?,在Core Location架構中,委託與協議共同使用,實現了對象間解耦及靈活性的問題,現在在上一份代碼的基礎上,新增加一個協議,即ManagerDelegate,此協議只有一個方法decideFrameDescription,這就構成了一個委託機制(delegation)(設計模式的一種)。代碼(點擊這裡下載)//環境//Mac OS X 10.3.7//Xcode Version 4.3.2 (4E2002) 為了IOS 5.1 升級了新版本的xcode//
Time of Update: 2018-12-05
委託在IOS開發架構Cocoa Touch 中經常使用,其含義是一個類的對象要求委派物件執行它的某些操作。委託機制實際是種設計模式,通過此種機制,能降低對象間的耦合。一上為概念描述。本文 主要介紹的是Objective-C中的NSObject基類,是片初學者理解id類型的入門文章,熟悉Objective-C的課直接閱讀 iOS設計模式--委託模式//環境//Mac OS X 10.3.7//Xcode Version 4.2.1//使用的是Xcode的Command Line
Time of Update: 2018-12-05
NSMutableString 可修改字串常用方法+(id)stringWithCapacity:size建立一個字串,容量為size大小-(id)initWithCapacity:size初始化一個字串,容量為size-(void)setString:nsstring將字串設定為 nsstring-(void)appendString:nsstring在字串末尾追加字串 nsstring-(void)deleteCharatersInRange:range刪除指定range
Time of Update: 2018-12-05
數組是有序的對象集合,一般情況下,一個數組中的元素都是相同類型的。類似可變字串與不可變字串,數組也有可變與不可變之分。NSArray 不可變數組
Time of Update: 2018-12-05
NSArray 是一個靜態數組,不修改該數組中的元素,也不能添加元素,所以僅有NSArray 是不夠的。NSMutableArray 就應運而生,來滿足我們的需求了。NSmutableArray
Time of Update: 2018-12-05
在objc.h 中,BOOL 定義為:typedef signed char BOOL;#define YES (BOOL) 1#define NO (BOOL) 0從上面的定義我們發現布爾變數的值為 YES/NO,或 1/0 。YES 或 1 代表真,NO 或 0 代表假。比如你定義了一個布爾變數並賦了值:BOOL enabled = NO;enabled = 0;判斷BOOL值為YES:if(enabled == YES){}或者YES可以省略if(enabled){}
Time of Update: 2018-12-05
category 是Objective-C 裡面最常用到的功能之一。category 可以為已經存在的類增加方法,而不需要增加一個子類。而且,我們可以在不知道某個類內部實現的情況下,為該類增加方法。如果我們想增加某個架構(framework)中的類的方法,category 就非常有效。比如,如果想在NSString 上增加一個方法來判斷它是否是有效 URL,那麼就可以這樣做:@interface NSString (extension)- (BOOL)