//將NSData轉(zhuǎn)化為NSString? ? ? ?
?NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
//將NSString 轉(zhuǎn)化為NSData (NSString.h)
- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding;??
//在一個字符串中刪除一個字符或字符串
[_display deleteCharactersInRange:NSMakeRange(index_of_char_to_remove, 1)];
整數(shù)型轉(zhuǎn)換為字符串
NSString *returnStr;
returnStr = [[NSNumber numberWithInt:row] stringValue];??
? NSString? ? ? *******************************************************************************************/? ? ??
//一、NSString? ? ? ??
? /*----------------創(chuàng)建字符串的方法----------------*/? ? ? ? ?
?? //1资铡、創(chuàng)建常量字符串年堆。? ? ??
NSString *astring = @"This is a String!";? ? ??
//2、創(chuàng)建空字符串,給予賦值功蜓。? ? ? ? ?
?? NSString *astring = [[NSString alloc] init];? ? ?
?astring = @"This is a String!";? ??
? [astring release];? ? ? NSLog(@"astring:%@",astring); ? ? ? ? ? ?
//3逝撬、在以上方法中,提升速度:initWithString方法? ? ? ? ??
? NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];? ? ? NSLog(@"astring:%@",astring);? ? ?
?[astring release];? ? ? ? ? ??
//4钱磅、用標(biāo)準(zhǔn)c創(chuàng)建字符串:initWithCString方法? ? ? ? ? ??
char *Cstring = "This is a String!";? ? ??
NSString *astring = [[NSString alloc] initWithCString:Cstring];? ? ? NSLog(@"astring:%@",astring);? ? ?
?[astring release];? ? ? ? ? ??
//5梦裂、創(chuàng)建格式化字符串:占位符(由一個%加一個字符組成)? ? ? ? ? ??
int i = 1;? ? ??
int j = 2;? ? ??
NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];? ? ??
NSLog(@"astring:%@",astring);? ? ??
[astring release];? ? ? ? ? ??
//6、創(chuàng)建臨時字符串? ? ? ? ? ?
?NSString *astring;? ? ??
astring = [NSString stringWithCString:"This is a temporary string"];? ? ? NSLog(@"astring:%@",astring);? ? ? ? ? ??
/*----------------從文件讀取字符串:initWithContentsOfFile方法----------------*/? ? ? ? ? ? ? ? NSString *path = @"astring.text";? ? ??
NSString *astring = [[NSString alloc] initWithContentsOfFile:path];? ? ? NSLog(@"astring:%@",astring);? ? ??
[astring release];? ? ? ? ? ??
/*----------------寫字符串到文件:writeToFile方法----------------*/? ? ? ? ? ? ? ? NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];? ? ? NSLog(@"astring:%@",astring);? ? ??
NSString *path = @"astring.text";? ? ? ? ?
?[astring writeToFile: path atomically: YES];? ? ??
[astring release];? ? ? ? ? ? ? ??
/*----------------比較兩個字符串----------------*/? ? ? ? ? ? ? ? ? ??
//用C比較:strcmp函數(shù)? ? ? ? ? ??
char string1[] = "string!";? ? ? char string2[] = "string!";? ? ?
?if(strcmp(string1, string2) = = 0)? ? ??
{? ? ? ? ? NSLog(@"1");? ? ? }? ? ??
//isEqualToString方法? ? ? ? ??
NSString *astring01 = @"This is a String!";? ? ??
NSString *astring02 = @"This is a String!";? ? ?
?BOOL result = [astring01 isEqualToString:astring02];? ? ?
?NSLog(@"result:%d",result);? ? ??
//compare方法(comparer返回的三種值)? ? ? ? ??
NSString *astring01 = @"This is a String!";? ? ??
NSString *astring02 = @"This is a String!";? ? ? ? ??
BOOL result = [astring01 compare:astring02] = = NSOrderedSame;? ? ? ? ? NSLog(@"result:%d",result);? ? ? ? ??
//NSOrderedSame判斷兩者內(nèi)容是否相同? ? ??
NSString *astring01 = @"This is a String!";? ? ??
NSString *astring02 = @"this is a String!";? ? ??
BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;? ? ? ? ? NSLog(@"result:%d",result);? ? ??
//NSOrderedAscending判斷兩對象值的大小(按字母順序進(jìn)行比較盖淡,astring02大于astring01為真)? ? ? ? ? ??
NSString *astring01 = @"this is a String!";? ? ??
NSString *astring02 = @"This is a String!";? ? ?
?BOOL result = [astring01 compare:astring02] = = NSOrderedDescending;? ? ? ? ? NSLog(@"result:%d",result);? ? ? ? ?
?//NSOrderedDescending判斷兩對象值的大小(按字母順序進(jìn)行比較年柠,astring02小于astring01為真)? ? ? ? ? ??
//不考慮大小寫比較字符串1? ? ??
NSString *astring01 = @"this is a String!";? ? ??
NSString *astring02 = @"This is a String!";? ? ??
BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;? ? ? ? ? NSLog(@"result:%d",result);? ? ? ? ??
//NSOrderedDescending判斷兩對象值的大小(按字母順序進(jìn)行比較,astring02小于astring01為真)? ? ??
//不考慮大小寫比較字符串2? ? ??
NSString *astring01 = @"this is a String!";? ? ??
NSString *astring02 = @"This is a String!";? ? ??
BOOL result = [astring01 compare:astring02? ? ? ? ? ? ? ? ? ? ? ? ? ? ? options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;? ? ? ? ? NSLog(@"result:%d",result);? ? ? ? ??
?//NSCaseInsensitiveSearch:不區(qū)分大小寫比較 NSLiteralSearch:進(jìn)行完全比較褪迟,區(qū)分大小寫 NSNumericSearch:比較字符串的字符個數(shù)冗恨,而不是字符值。? ? ??
/*----------------改變字符串的大小寫----------------*/? ? ? ? ??
NSString *string1 = @"A String";? ? ??
?NSString *string2 = @"String";? ? ??
NSLog(@"string1:%@",[string1 uppercaseString]);//大寫? ? ??
NSLog(@"string2:%@",[string2 lowercaseString]);//小寫? ? ??
NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小? ? ??
/*----------------在串中搜索子串----------------*/? ? ? ? ? ? ??
NSString *string1 = @"This is a string";? ? ??
NSString *string2 = @"string";? ? ??
NSRange range = [string1 rangeOfString:string2];? ? ?
?int location = range.location;? ? ?
?int leight = range.length;? ? ??
NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];? ? ? NSLog(@"astring:%@",astring);? ? ?
?[astring release];? ? ??
/*----------------抽取子串 ----------------*/? ? ? ? ? ? ??
//-substringToIndex: 從字符串的開頭一直截取到指定的位置味赃,但不包括該位置的字符? ? ? NSString *string1 = @"This is a string";? ? ??
NSString *string2 = [string1 substringToIndex:3]; ? ? ?
NSLog(@"string2:%@",string2);? ? ? ? ? ??
//-substringFromIndex: 以指定位置開始(包括指定位置的字符)派近,并包括之后的全部字符? ? ? NSString *string1 = @"This is a string";? ? ??
NSString *string2 = [string1 substringFromIndex:3];? ? ??
NSLog(@"string2:%@",string2);? ? ??
//-substringWithRange: //按照所給出的位置,長度洁桌,任意地從字符串中截取子串? ? ? NSString *string1 = @"This is a string";? ? ?
?NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)];? ? ? NSLog(@"string2:%@",string2);? ? ??
//擴(kuò)展路徑? ? ??
NSString *Path = @"~/NSData.txt";? ? ?
?NSString *absolutePath = [Path stringByExpandingTildeInPath];? ? ? NSLog(@"absolutePath:%@",absolutePath);? ? ??
NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);? ? ?
?//文件擴(kuò)展名? ? ??
NSString *Path = @"~/NSData.txt";? ? ??
NSLog(@"Extension:%@",[Path pathExtension]);? ??
/*******************************************************************************************? ? ? NSMutableString? *******************************************************************************************/? ? ? ? ??
/*---------------給字符串分配容量----------------*/? ? ??
//stringWithCapacity:? ? ??
NSMutableString *String;? ? ??
String = [NSMutableString stringWithCapacity:40];? ? ?
?/*---------------在已有字符串后面添加字符----------------*/? ? ? ? ? //appendString: and appendFormat:? ? ??
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];? ? ??
//[String1 appendString:@", I will be adding some character"];? ? ??
[String1 appendFormat:[NSString stringWithFormat:@", I will be adding some character"]];? ? ??
NSLog(@"String1:%@",String1);? ? ? */? ? ??
/*--------在已有字符串中按照所給出范圍和長度刪除字符------*/? ? ? ? ? //deleteCharactersInRange:? ? ??
?NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];? ? ??
?[String1 deleteCharactersInRange:NSMakeRange(0, 5)];? ? ? NSLog(@"String1:%@",String1);? ? ??
/*--------在已有字符串后面在所指定的位置中插入給出的字符串------*/? ? ??
//-insertString: atIndex:? ? ??
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];? ? ??
[String1 insertString:@"Hi! " atIndex:0];? ? ??
NSLog(@"String1:%@",String1);? ? ??
/*--------將已有的空符串換成其它的字符串------*/? ? ??
//-setString:? ? ??
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];? ? ??
[String1 setString:@"Hello Word!"];? ? ??
NSLog(@"String1:%@",String1);? ? ??
/*--------按照所給出的范圍渴丸,和字符串替換的原有的字符------*/? ? ??
//-setString:? ? ??
NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];? ? ??
[String1 replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];? ? ? NSLog(@"String1:%@",String1);? ? ?
?/*-------------判斷字符串內(nèi)是否還包含別的字符串(前綴,后綴)-------------*/? ? ? //01:檢查字符串是否以另一個字符串開頭
- (BOOL) hasPrefix: (NSString *) aString;? ? ??
NSString *String1 = @"NSStringInformation.txt";? ? ?
?[String1 hasPrefix:@"NSString"] = = 1 ?? NSLog(@"YES") : NSLog(@"NO");? ? ?
?[String1 hasSuffix:@".txt"] = = 1 ?? NSLog(@"YES") : NSLog(@"NO");? ? ??
//02:查找字符串某處是否包含其它字符串?
- (NSRange) rangeOfString: (NSString *) aString,這一點(diǎn)前面在串中搜索子串用到過;? /*******************************************************************************************? ? ? NSArray? *******************************************************************************************/? ? ?
?/*---------------------------創(chuàng)建數(shù)組------------------------------*/? ? ? //NSArray *array = [[NSArray alloc] initWithObjects:? ? ? @"One",@"Two",@"Three",@"Four",nil];? ? ??
self.dataArray = array;? ? ??
[array release];? ? ??
//- (unsigned) Count;數(shù)組所包含對象個數(shù)谱轨;? ? ??
NSLog(@"self.dataArray cound:%d",[self.dataArray count]);? ? ? ? ? ??
//- (id) objectAtIndex: (unsigned int) index;獲取指定索引處的對象;? ? ? NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);? ? ?
?/*--------------------------從一個數(shù)組拷貝數(shù)據(jù)到另一數(shù)組(可變數(shù)級)----------------------------*/? ? ? ? ? ? ? ??
//arrayWithArray:? ? ??
//NSArray *array1 = [[NSArray alloc] init];? ? ??
NSMutableArray *MutableArray = [[NSMutableArray alloc] init];? ? ??
NSArray *array = [NSArray arrayWithObjects: @"a",@"b",@"c",nil];? ? ? NSLog(@"array:%@",array);? ? ??
MutableArray = [NSMutableArray arrayWithArray:array];? ? ? NSLog(@"MutableArray:%@",MutableArray);? ? ??
array1 = [NSArray arrayWithArray:array];? ? ?
?NSLog(@"array1:%@",array1);? ? ??
//Copy? ? ? //id obj;? ? ??
NSMutableArray *newArray = [[NSMutableArray alloc] init];? ? ??
NSArray *oldArray = [NSArray arrayWithObjects:? ? ? ? ? ? ? ? ? ? ? ? ? @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];? ? ? ? ? ??
NSLog(@"oldArray:%@",oldArray);? ? ??
for(int i = 0; i < [oldArray count]; i++)? ? ? { ? ?obj = [[oldArray objectAtIndex:i] copy];? ? ? ? ? [newArray addObject: obj];? ? ? }? ? ??
//NSLog(@"newArray:%@", newArray);? ? ?
?[newArray release];? ? ? ? ? ??
//快速枚舉? ? ? ? ? ??
//NSMutableArray *newArray = [[NSMutableArray alloc] init];? ? ??
NSArray *oldArray = [NSArray arrayWithObjects:? ? ? ? ? ? ? ? ? ? ? ? ? @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];? ? ? ? ??
NSLog(@"oldArray:%@",oldArray);? ? ? ? ? ??
for(id obj in oldArray)? ? ? { [newArray addObject: obj]; ?}? ? ??
// NSLog(@"newArray:%@", newArray);? ? ??
[newArray release];? ? ? ? ? ? ? ??
//Deep copy? ? ? ? ? ??
//NSMutableArray *newArray = [[NSMutableArray alloc] init];? ? ??
NSArray *oldArray = [NSArray arrayWithObjects:? ? ? ? ? ? ? ? ? ? ? ? ? @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil];? ? ? ? ??
NSLog(@"oldArray:%@",oldArray);? ? ? ? ??
newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers);? ? ? NSLog(@"newArray:%@", newArray);? ? ?
?[newArray release];? ? ? ? ? ? ? ??
//Copy and sort? ? ? ? ? ??
//NSMutableArray *newArray = [[NSMutableArray alloc] init];? ? ??
NSArray *oldArray = [NSArray arrayWithObjects:? ? ? ? ? ? ? ? ? ? ? ? ? @"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil];? ? ? ? ??
NSLog(@"oldArray:%@",oldArray);? ? ??
NSEnumerator *enumerator;? ? ??
enumerator = [oldArray objectEnumerator];? ? ?
?id obj;? ? ??
while(obj = [enumerator nextObject]) ? { ?[newArray addObject: obj]; }? ? ??
[newArray sortUsingSelector:@selector(compare:)];? ? ??
NSLog(@"newArray:%@", newArray);? ? ??
[newArray release];? ? ? ? ? ? ? ? ? ? ? ??
/*---------------------------切分?jǐn)?shù)組------------------------------*/? ? ? ? ? ? //從字符串分割到數(shù)組- componentsSeparatedByString:? ? ??
NSString *string = [[NSString alloc] initWithString:@"One,Two,Three,Four"];? ? ? NSLog(@"string:%@",string);? ? ? ? ??
NSArray *array = [string componentsSeparatedByString:@","];? ? ? NSLog(@"array:%@",array);? ? ??
[string release];? ? ? ? ? ? ? ? ??
//從數(shù)組合并元素到字符串- componentsJoinedByString:? ? ??
NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];? ? ??
NSString *string = [array componentsJoinedByString:@","];? ? ? NSLog(@"string:%@",string);? ? ? ? /*******************************************************************************************? ? ? NSMutableArray? ? ? *******************************************************************************************/? ? ??
/*---------------給數(shù)組分配容量----------------*/? ? ??
//NSArray *array;? ? ??
array = [NSMutableArray arrayWithCapacity:20];? ? ? ? ? ?
?/*--------------在數(shù)組末尾添加對象----------------*/? ? ??
//- (void) addObject: (id) anObject;? ? ??
//NSMutableArray *array = [NSMutableArray arrayWithObjects:? ? ? @"One",@"Two",@"Three",nil];? ? ??
[array addObject:@"Four"];? ? ??
NSLog(@"array:%@",array);? ? ? ? ? ??
/*--------------刪除數(shù)組中指定索引處對象----------------*/? ? ? ? ??
//-(void) removeObjectAtIndex: (unsigned) index;? ? ? ? ??
//NSMutableArray *array = [NSMutableArray arrayWithObjects:? ? ? @"One",@"Two",@"Three",nil];? ? ??
[array removeObjectAtIndex:1];? ? ??
NSLog(@"array:%@",array);? ? ? ? ? ??
/*-------------數(shù)組枚舉---------------*/? ? ? ? ??
//- (NSEnumerator *)objectEnumerator;從前向后? ? ??
//NSMutableArray *array = [NSMutableArray arrayWithObjects:? ? ? @"One",@"Two",@"Three",nil];? ? ??
NSEnumerator *enumerator;? ? ?
?enumerator = [array objectEnumerator];? ? ? ? ? ?
?id thingie;? ? ??
while (thingie = [enumerator nextObject]) { NSLog(@"thingie:%@",thingie); ?}? ? ? ? ? ? //- (NSEnumerator *)reverseObjectEnumerator;從后向前? ? ??
//NSMutableArray *array = [NSMutableArray arrayWithObjects:? ? ? @"One",@"Two",@"Three",nil];? ? ?
?NSEnumerator *enumerator;? ? ??
enumerator = [array reverseObjectEnumerator];? ? ? ? ? ??
id object;? ? ??
while (object = [enumerator nextObject]) { ?NSLog(@"object:%@",object); }? ? ? ? ? ? ? ? ? //快速枚舉? ? ??
//NSMutableArray *array = [NSMutableArray arrayWithObjects:? ? ? @"One",@"Two",@"Three",nil];? ? ??
for(NSString *string in array)? ? ? { NSLog(@"string:%@",string); }? ? ? ? /*******************************************************************************************? ? ? NSDictionary? ? ? *******************************************************************************************/? ? ? ? ? ??
/*------------------------------------創(chuàng)建字典------------------------------------*/? ? ??
//- (id) initWithObjectsAndKeys;? ? ? ? ? ??
//NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];? ? ??
NSString *string = [dictionary objectForKey:@"One"];? ? ??
NSLog(@"string:%@",string);? ? ??
NSLog(@"dictionary:%@",dictionary);? ? ??
[dictionary release];? ? ? ? ? ? ? ? ? /*******************************************************************************************? ? ? NSMutableDictionary? ? ? *******************************************************************************************/? ? ? ? ? ??
/*------------------------------------創(chuàng)建可變字典------------------------------------*/? ? ? ? ??
//創(chuàng)建? ? ? NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];? ? ? ? ? ? //添加字典? ? ? [dictionary setObject:@"One" forKey:@"1"];? ? ??
[dictionary setObject:@"Two" forKey:@"2"];? ? ?
?[dictionary setObject:@"Three" forKey:@"3"];? ? ??
[dictionary setObject:@"Four" forKey:@"4"];? ? ??
NSLog(@"dictionary:%@",dictionary);? ? ? ? ? ??
//刪除指定的字典? ? ? [dictionary removeObjectForKey:@"3"];? ? ? NSLog(@"dictionary:%@",dictionary);? ? ? ? /*******************************************************************************************? ? ? NSValue(對任何對象進(jìn)行包裝)? ? ? *******************************************************************************************/? ? ? ? ? ?
?/*--------------------------------將NSRect放入NSArray中------------------------------------*/? ? ? ? ??
//將NSRect放入NSArray中? ? ?
?NSMutableArray *array = [[NSMutableArray alloc] init];? ? ??
NSValue *value;? ? ??
CGRect rect = CGRectMake(0, 0, 320, 480);? ? ? ? ?
?value = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];? ? ??
[array addObject:value];? ? ??
NSLog(@"array:%@",array);? ? ? ? ? ??
//從Array中提取? ? ??
value = [array objectAtIndex:0];? ? ??
[value getValue:&rect];? ? ??
NSLog(@"value:%@",value);? ? ? ? /*******************************************************************************************? ? ? 從目錄搜索擴(kuò)展名為jpg的文件? ? ? *******************************************************************************************/? ? ? ? ? ??
//NSFileManager *fileManager = [NSFileManager defaultManager];? ? ??
NSString *home;? ? ?
?home = @"../Users/";? ? ? ? ? ??
NSDirectoryEnumerator *direnum;? ? ??
direnum = [fileManager enumeratorAtPath: home];? ? ? ? ? ??
NSMutableArray *files = [[NSMutableArray alloc] init];? ? ? ? ? ??
//枚舉? ? ? NSString *filename;? ? ??
while (filename = [direnum nextObject]) { ?if([[filename pathExtension] hasSuffix:@"jpg"]){ ?[files addObject:filename]; } }? ? ? ? ? ??
//快速枚舉? ? ? //for(NSString *filename in direnum) ? ?{ ?if([[filename pathExtension] isEqualToString:@"jpg"])
{ ?[files addObject:filename]; } }? ? ??
NSLog(@"files:%@",files);? ? ? ? ? ??
//枚舉? ? ? NSEnumerator *filenum;? ? ??
filenum = [files objectEnumerator];? ? ??
while (filename = [filenum nextObject]) {NSLog(@"filename:%@",filename);}? ? ? ? ? ??
//快速枚舉? ? ? //for(id object in files) ?{ ?NSLog(@"object:%@",object);}? ? ??
#importint main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
//創(chuàng)建字符串
NSString *height;
/**類方法:
+(id) stringWithFormat: (NSString *) format,...
通過格式字符串和參數(shù)來創(chuàng)建NSString
省略號(戒幔。。土童。):可以接受多個以逗號分割的參數(shù)诗茎。
這聲明方法時添加加號(+),那么這個方法為類方法献汗,不需要創(chuàng)建實(shí)例就可以調(diào)用敢订,通常用于創(chuàng)建心的實(shí)例,我們稱用來創(chuàng)建新對象的類方法為工廠方法罢吃。
-------------------
objective-c運(yùn)行時生成一個類的時候楚午,它會創(chuàng)建一個代表該類的類對象。類對象包含了指向超類的指針尿招,類名矾柜,和指向類方法列表的指針。類對象還包含一個long型數(shù)據(jù)就谜,為新創(chuàng)建的類實(shí)例對象指定大泄置铩(以字節(jié)為單位)
類方法可以用來訪問全局?jǐn)?shù)據(jù)。
實(shí)例方法要用前導(dǎo)減號(-)來開始聲明
*/
height=[NSString stringWithFormat:@"you heigh is %d feet,%d inches",5,11];
NSLog(height);
//length 返回字符串中字符的個數(shù)丧荐。-(unsigned int) length;
if([height length]>5){
NSLog(@"height length ------");
}
//字符串比較
/**
isEqualToString :可以用來比較接收方和當(dāng)作參數(shù)傳遞來的字符串的內(nèi)容是否相同缆瓣,返回yes和no
*/
NSString *thing1=@"hello";
NSString *thing2=[[NSString alloc] initWithString:@"hello"];
if([thing1 isEqualToString:thing2]){
NSLog(@"they are same");
}
/**
==:只判斷指針數(shù)值,而不是它們所指向的內(nèi)容
*/
if(thing1==thing2){
NSLog(@"== same");
}
/*
compare:比較兩個字符串虹统。區(qū)分大小寫
compare將接收對象和傳遞來的字符串逐個字符的進(jìn)行比較弓坞,它返回一個NSComparisonResult(枚舉類型)來顯示結(jié)果。
typedef enum _NSComparisonResult{
NSOrderedAscending=-1;
NSOrderedsame;
NSOrderedDescending;
} NSComparisonResult;
*/
[thing1 compare:thing2];
if(NSOrderedSame==[thing1 compare:thing2]){
NSLog(@"compare same");
}
//compare:options:
/***
-(NSComparisonResult) compare:(NSString *) string
options:(unsinged) mask;
options 是一個位掩碼窟却,可以使用|添加選項(xiàng)標(biāo)記
選項(xiàng):
NSCaseInsensitiveSearch:不區(qū)分大小寫字符
NSLiteralSearch:進(jìn)行完全比較,區(qū)分大小寫
NSNumbericSearch:比較字符串的字符個數(shù)呻逆,而不是字符值
*/
if([thing1 compare:thing2 options:NSCaseInsensitiveSearch|
NSNumericSearch]==NSOrderedSame){
NSLog(@"they match");
}
/**
以某個字符串開始或結(jié)尾
-(BOOL) hasPrefix:(NSString *) aString;
-(BOOL) hasSuffix:(NSString *) aString;
*/
NSString *fileName=@"aabbbcc";
if([fileName hasPrefix:@"aa"]){
NSLog(@"begin with aa");
}
if([fileName hasSuffix:@"cc"]){
NSLog(@"end with cc");
}
//NSMutableString 可變字符串
//SString 是不可變的夸赫,一旦NSString 被創(chuàng)建了,我們就不能改變它咖城。
//+(id) stringWithCapacity:(unsinged) capacity; capacity:是給NSMutableString的一個建議茬腿,字符串的大小并不局限于所提供的大小,這個容量僅是個最優(yōu)值宜雀。
NSMutableString *str=[NSMutableString stringWithCapacity:40];
[str appendFormat:@"sdfsdf%d",5];
[str appendString:@"ssssssss"];
NSLog(str);
//刪除字符串
//-(void) deleteCharactersInRange:(NSRange) range;
NSMutableString *ms;
ms=[NSMutableString stringWithCapacity:50];
[ms appendString:@"aabbccdd"];
NSRange range;
range=[ms rangeOfString:@"cc"];
[ms deleteCharactersInRange:range];
NSLog(ms);
//截取字符串
[string substringWithRange:NSMakeRange(0, 10)];
//與實(shí)例方法一樣切平,繼承對類方法也同樣適用
//------------------集合--------------
//NSArray ,NSDictionary
/**
NSArray 是一個cocoa類,用來存儲對象的有序列表辐董。
NSArray有兩個限制:1悴品,它只能存儲objective-c的對象,而不能存儲c語言中的基本數(shù)據(jù)類型如int,float苔严,enum定枷,struct,或者nsarray中的隨機(jī)指針届氢。2欠窒,不能這nsarray中存儲nil
類方法:
arrayWithObjects:創(chuàng)建一個新的nsarray。發(fā)送一個以逗號分割的對象列表退子,這列表結(jié)尾添加nil代表列表結(jié)束岖妄,(這就是不能這nsarray中存儲nil的原因)
*/
NSArray *array=[NSArray arrayWithObjects:@"aa",@"bb",@"cc",nil];
//-(unsigned) count; 取得包含對象的個數(shù)
//-(id) objectAtIndex:(unsigned int) index; 取得索引位置的對象
int i;
for (i=0; i<[array count]; i++) {
NSLog(@"index %d has %@",i,[array objectAtIndex:i]);
}
//------------切分?jǐn)?shù)組
//-componentsSeparatedByString:
NSString *ns=@"sdf,dsfs,dfd,fdf,df,dd";
NSArray *comArr=[ns componentsSeparatedByString:@","];
for(int i=0;i<[comArr count];i++){
NSLog(@"componentsSeparatedByString===%@",[comArr objectAtIndex:i]);
}
//componentJoinedByString: 合并nsarray中的元素來創(chuàng)建字符串
NSString *joinedStr=[comArr componentsJoinedByString:@"-->"];
NSLog(@"joined---= %@",joinedStr);
//可變數(shù)組
NSMutableArray *mutableArr=[NSMutableArray arrayWithCapacity:40];
[mutableArr addObject:@"aa"];
[mutableArr addObject:@"bb"];
[mutableArr addObject:@"cc"];
[mutableArr addObject:@"dd"];
for(int i=0;i<[mutableArr count];i++){
NSLog(@"mutableArr==%@",[mutableArr objectAtIndex:i]);
}
//-----? -(void) removeObjectAtIndex:(unsinged) index; 刪除指定索引的對象,
//刪除一個對象之后,數(shù)組中并沒有留下漏洞寂祥,被刪除對象后面的數(shù)組元素的哦被前移來填補(bǔ)空缺
[mutableArr removeObjectAtIndex:2];
for(int i=0;i<[mutableArr count];i++){
NSLog(@"removeObjectAtIndex == %@",[mutableArr objectAtIndex:i]);
}
//枚舉
//NSEnumerator ,它是cocoa用來描述這種集合迭代運(yùn)輸?shù)姆椒?/p>
//-(NSEnumerator *) objectEnumerator;
NSEnumerator *enumerator=[mutableArr objectEnumerator];
id thingie;
while(thingie=[enumerator nextObject]){
NSLog(@"i found %@",thingie);
}
//快速枚舉
for(NSString *string in mutableArr){
NSLog(@"for in == %@",string);
}
//NSDictionary 字典
/*
NSDictionary 是在給定的關(guān)鍵字(通常是一個NSString字符串)下存儲一個數(shù)值(可以是任何類型的對象)荐虐。然后你可以用這個關(guān)鍵字來查找相應(yīng)的數(shù)值。
NSDictionary 是鍵查詢的優(yōu)化存儲方式壤靶。它可以立即找出要查詢的數(shù)據(jù)缚俏,而不需要遍歷整個數(shù)組進(jìn)行查找。
+(id) dictionaryWithObjectAndKeys:(id) firstObject,....;
該方法接收對象和關(guān)鍵字交替出現(xiàn)的系列贮乳,以nil值作為終止符號忧换。
**/
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:@"aaa",@"a",@"bbb",@"b",nil];
NSString *dicStr=[dic objectForKey:@"a"];
if([dicStr isEqualToString:@"aaa"]){
NSLog(@"------------00000000000000000");
}
//可變字典
NSMutableDictionary *mutableDic=[NSMutableDictionary dictionaryWithCapacity:50];
[mutableDic setObject:@"1111" forKey:@"1"];
[mutableDic setObject:@"222" forKey:@"2"];
//刪除 -(void) removeObjectForKe:(id) key;
[mutableDic removeObjectForKey:@"2"];
NSArray *keyArr=[mutableDic allKeys];
for(NSString *str in keyArr){
NSLog(@"key== %@",str);
NSLog(@"value== %@",[mutableDic objectForKey:str]);
}
//各種數(shù)值,NSNumber NSValue
/*
cocoa 提供了NSNumber類來包裝基本數(shù)據(jù)類型
+(NSNumber *) numberWithChar:(char) value;
+(NSNumber *) numberWithInt:(int) value;
+(NSNumber *) numberWithFloat:(float) value;
+(NSNumber *) numberWthiBool:(BOOL) value;
-(char) charValue;
-(int) intVlaue;
-(float) floatValue;
-(BOOL) boolValue;
-(NSString *) stringValue;
**/
NSNumber *number;
number=[NSNumber numberWithInt:3];
[mutableDic setObject:number forKey:@"int"];
int num=[[mutableDic objectForKey:@"int"] intValue];
NSLog(@"int object value== %d",num);
//NSValue .NSNumber實(shí)際上是NSValue的子類向拆,NSValue可以包裝任意值
/**
+(NSValue *) valueWithBytes:(const void *) value objCType:(const char *) type;
傳遞的參數(shù)是你想要包裝的數(shù)值的地址亚茬,通常,得到的是你想要存儲的變量的地址(在c語言里適用操作符 & )浓恳,你也可以提供一個描述這個數(shù)據(jù)類型的字符串刹缝,通常用來說明struct中實(shí)體的類型和大小。你不用自己寫代碼
來生成這個字符串颈将,@encode編譯器指令可以接受數(shù)據(jù)類型的名稱并為你生成合適的字符串
*/
NSRect rect= NSMakeRect(1, 2, 30, 40);
NSValue *value;
value=[NSValue valueWithBytes:&rect objCType:@encode(NSRect)];
NSMutableArray *mr=[NSMutableArray arrayWithCapacity:50];
[mr addObject:value];
//getValue 提取數(shù)據(jù)
/**
-(void) getValue:(void *) value; 要傳遞的是存儲這個數(shù)值的變量的地址
*/
/***
value=[mr objectAtIndex:0];
NSRect r;
NSLog(@"00000 ===%@",r);
[value getValue:&r];
NSLog(@"111== %@",r);
*/
/**
+(NSValue *) valueWithPoint:(NSPoint) point;
+(NSValue *) valueWithSize:(NSSize) size;
+(NSValue *) valueWithRect:(NSRect) rect;
-(NSPoint) pointValue;
-(NSSize) sizeValue;
-(NSRect) rectValue;
*/
//NSNull
/*
*+(NSNull *) null;
*/
[mutableDic setObject:[NSNull null] forKey:@"fax"];
id fax;
fax=[mutableDic objectForKey:@"fax"];
if(fax==[NSNull null]){
NSLog(@"pppppppppppppppppp");
}
[pool drain];
return 0;
}
記錄一個很簡單的小問題
截取字符串有如下方法
[string substringToIndex:7];//截取掉下標(biāo)7之后的字符串
[string substringFromIndex:2];//截取掉下標(biāo)2之前的字符串
[string substringWithRange:range];//截取范圍類的字符串
遇到一個問題,
如何直接截取某串字符串的后8位??
[string substringFromIndex:string.length- 8 ];