|
1. 學(xué)習(xí)方法 3 2. NSString 2.1. 創(chuàng)建常量字符串。 4 2.2. 創(chuàng)建空字符串,給予賦值。 4 2.3. 使用變量初始化 4 2.4. 判斷是否包含某字符串 4 2.4.1. 檢查字符串是否以另一個(gè)字符串開頭- (BOOL) hasPrefix: (NSString *) aString; 4 2.4.2. 是否包含其它字符 5 2.5. 從文件讀取字符串:initWithContentsOfFile方法 5 2.6. 寫字符串到文件:writeToFile方法 5 2.7. 比較兩個(gè)字符串 5 2.7.1. 用C比較:strcmp函數(shù) 5 2.7.2. isEqualToString方法 6 2.7.3. compare方法(comparer返回的三種值) 6 2.7.4. NSOrderedSame判斷兩者內(nèi)容是否相同 6 2.7.5. 不考慮大小寫比較字符串1 7 2.8. 改變字符串的大小寫 7 2.9. 在串中搜索子串 7 2.10. 替換字符串 8 2.11. 分割字符串成數(shù)組 8 2.12. 字符串?dāng)?shù)組拼接成字符串 8 2.13. 抽取子串 9 2.13.1. -substringToIndex: 從字符串的開頭一直截取到指定的位置,但不包括該位置的字符 9 2.13.2. -substringFromIndex: 以指定位置開始(包括指定位置的字符),并包括之后的全部字符 9 2.13.3. -substringWithRange: //按照所給出的位置,長度,任意地從字符串中截取子串 9 2.14. 擴(kuò)展路徑 9 2.15. 文件擴(kuò)展名 10 2.16. 練習(xí)題:將文本“成績單.text”內(nèi)容加載到內(nèi)存中并按規(guī)定的格式輸出出來 10 3. NSMutableString 10 3.1. 給字符串分配容量 10 3.2. 在已有字符串后面添加字符 10 3.3. 在已有字符串中按照所給出范圍和長度刪除字符 11 3.4. 在已有字符串后面在所指定的位置中插入給出的字符串 11 3.5. 將已有的空符串換成其它的字符串 11 3.6. 按照所給出的范圍,和字符串替換的原有的字符 12 4. NSArray 12 4.1. 創(chuàng)建數(shù)組 12 4.2. 獲取指定索引處的對象; 12 4.3. 從一個(gè)數(shù)組拷貝數(shù)據(jù)到另一數(shù)組(可變數(shù)級) 13 4.4. 快速便利數(shù)組 14 4.5. Copy and sort 14 5. NSMutableArray 15 5.1. 給數(shù)組分配容量 15 5.2. 在數(shù)組末尾添加對象 15 5.3. 刪除數(shù)組中指定索引處對象 16 5.4. 數(shù)組枚舉 16 5.4.1. 從前向后 16 5.4.2. 從后向前 16 5.5. 快速枚舉 17 6. NSDictionary 17 6.1. 創(chuàng)建字典 17 7. NSMutableDictionary 18 7.1. 創(chuàng)建 18 7.2. 添加字典 18 7.3. 刪除指定的字典 18 8. NSValue(對任何對象進(jìn)行包裝) 18 8.1. 將NSRect放入NSArray中 18 8.2. 從Array中提取 19 8.3. 從目錄搜索擴(kuò)展名為jpg的文件 19 9. NSNumber 20 NSString 創(chuàng)建字符串。 NSString *astring = @"This is a String!";
創(chuàng)建空字符串,給予賦值。
NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; NSLog(@"astring:%@",astring); [astring release];
使用變量初始化 NSString *name = @"Ivan!"; NSString *astring = [[NSString stringWithFormat:@”My name is %@!”,name]]; NSLog(@"astring:%@",astring);
判斷是否包含某字符串 檢查字符串是否以另一個(gè)字符串開頭- (BOOL) hasPrefix: (NSString *) aString; NSString *String1 = @"NSStringInformation.txt"; [String1 hasPrefix:@"NSString"] == 1 ? NSLog(@"YES") : NSLog(@"NO"); [String1 hasSuffix:@".txt"] == 1 ? NSLog(@"YES") : NSLog(@"NO");
是否包含其它字符 NSString *astring = [[NSString alloc] initWithString:@"This is a String!"]; Boolean contains = [astring rangeOfString:@”This”].length>0;
從文件讀取字符串: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];
比較兩個(gè)字符串 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);
不考慮大小寫比較字符串1 NSString *astring01 = @"this is a String!"; NSString *astring02 = @"This is a String!"; BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame; NSLog(@"result:%d",result);
改變字符串的大小寫
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];
替換字符串 NSString *astring01 = @"hello 中國"; NSString * new = [astring01 stringByReplacingOccurrencesOfString:@”中國” withString:@"北京"]; NSLog(new); 分割字符串成數(shù)組 NSString *s = @"a b d e f"; NSArray *arr = [s componentsSeparatedByString:@" "]; NSLog(@"count = %d",[arr count]); 字符串?dāng)?shù)組拼接成字符串 NSArray *pathArray = [NSArray arrayWithObjects:@"here", @"be", @"dragons", nil]; NSLog(@"%@",[pathArray componentsJoinedByString:@""]); 抽取子串 -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); 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);
NSArray 創(chuàng)建數(shù)組 NSArray *array = [[NSArray alloc] initWithObjects: @"One",@"Two",@"Three",@"Four",nil];
self.dataArray = array; [array release];
//- (unsigned) Count;數(shù)組所包含對象個(gè)數(shù); NSLog(@"self.dataArray cound:%d",[self.dataArray count]);
獲取指定索引處的對象; NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]);
從一個(gè)數(shù)組拷貝數(shù)據(jù)到另一數(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];
快速便利數(shù)組
//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];
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]; 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ù)組枚舉 從前向后 //NSMutableArray *array = [NSMutableArray arrayWithObjects: @"One",@"Two",@"Three",nil]; NSEnumerator *enumerator; enumerator = [array objectEnumerator];
id thingie; while (thingie = [enumerator nextObject]) { NSLog(@"thingie:%@",thingie); }
從后向前 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]; 練習(xí)題:將文本“成績單.text”內(nèi)容加載到內(nèi)存中并按規(guī)定的格式輸出出來 NSMutableDictionary 創(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中 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);
定義結(jié)構(gòu)體并添加到NSArray里面 typedef struct { float real; float imaginary; } ImaginaryNumber;
ImaginaryNumber miNumber; miNumber.real = 1.1; miNumber.imaginary = 1.41;
NSValue *miValue = [NSValue value:miNumber withObjCType:@encode(ImaginaryNumber)]; // encode using the type name
ImaginaryNumber miNumber2; [miValue getValue:&miNumber2]; 宏定義#define講解 NSNumber NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithDouble:(double)value; - (int)intValue; - (double)doubleValue; NSNumber可以將基本數(shù)據(jù)類型包裝起來,形成一個(gè)對象,這樣就可以給其發(fā)送消息,裝入NSArray中等等。 NSNumber * intNumber=[NSNumber numberWithInt:100]; NSNumber *floatNumber=[NSNUmber numberWithFloat:100.00]; int i=[intNumber intValue]; if([intNumber isEqualToNumber:floatNumber]) .... NSNumber繼承NSObject ,可以使用比較 compare: isEqual等消息 NSNull IOS里面最小簡單的類,里面只有一個(gè)方法+(NSNull*) null; 數(shù)學(xué)常用方法 數(shù)學(xué)常量: #define M_E 2.71828182845904523536028747135266250 // e 常用函數(shù): 指數(shù)運(yùn)算 開平方運(yùn)算 NSLog(@"%.f", sqrt(16) ); //result 4 上舍入 NSLog(@"res: %.f", ceil(3.000000000001)); //result 4 下舍入 四舍五入 NSLog(@"res: %.f", round(3.5)); //result 4 最小值 NSLog(@"res: %.f", fmin(5,10)); //result 5 最大值 NSLog(@"res: %.f", fmax(5,10)); //result 10
NSDate 得到當(dāng)前的日期 NSDate *date = [NSDate date]; 日期之間比較可用以下方法 - (BOOL)isEqualToDate:(NSDate *)otherDate;// 與otherDate比較,相同返回YES - (NSDate *)earlierDate:(NSDate *)anotherDate;// 與anotherDate比較,返回較早的那個(gè)日期 - (NSDate *)laterDate:(NSDate *)anotherDate;//與anotherDate比較,返回較晚的那個(gè)日期 將日期轉(zhuǎn)換成字符串 NSLog(@”date = %@”,[data description]); 設(shè)置日期顯示格式 NSDateFormatter *formatter =[[[NSDateFormatter alloc] init] autorelease]; [formatter setTimeStyle:NSDateFormatterFullStyle]; //設(shè)置幾種默認(rèn)的顯示效果 [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];//設(shè)置自定義的顯示效果 NSLog([formatter stringFromDate:date]); NSData NSData-> NSString NSString *aString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSString->NSData NSString *aString = @"1234abcd"; NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding]; |
|
|