OC数据类型学习
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
? ? @autoreleasepool {
?? ? ? /*
? ? ? ? 字符串可變 不可變
? ? ? ? NSMutableString
? ? ? ? NSString
? ? ? ? 數(shù)組 可變 不可變
? ? ? ? NSMutableArray
? ? ? ? NSArray
? ? ? ? 字典 可變 不可變
? ? ? ? NSMutableDictionary
? ? ? ? NSDictionary
? ? ? ? NSSet
? ? ? ? NSNumber封裝C的基本數(shù)據(jù)類型
? ? ? ? NSValue可以封裝結(jié)構(gòu)體
? ? ? ? NSDate 表示日期
? ? ? ? 結(jié)構(gòu)體 ?
? ? ? ? NSRange NSPoint NSSize NSRect
? ? ? ? */
?? ? ? ?
?? //不可變的字符串定義 基本上有三種方式 直接定義、實(shí)例化、相對應(yīng)的靜態(tài)方法定義
? ? ? ? NSString *stringFirst = @"abcd";
? ? ? ? NSString *stringSend = [[NSString alloc]initWithFormat:@"abcd"];
? ? ? ? //字符串的分割: substringFromIndex:通過第幾個(gè)字符開始到結(jié)尾的分割 、 substringToIndex從0開始到指定的字符分割、獲得字符串中的某個(gè)字符方法:characterAtIndex、以特殊字符分割的方法:componentsSeparatedByString:
?? ? ? NSString *stringTir =[stringFirst substringFromIndex:2];
? ? ? ? NSLog(@"%@",stringTir);
? ? ? ? unichar ca = [stringFirst characterAtIndex:3];
? ? ? ? NSLog(@"%c",ca);
? ? ? ? NSArray *array=[stringFirst componentsSeparatedByString:@","];
? ? ? ? NSLog(@"%@",array);
? ? ? ? //轉(zhuǎn)化成小寫的方法:lowercaseString
?? ? ? NSString *lowerString= [stringFirst lowercaseString];
? ? ? ? //轉(zhuǎn)化成大寫的方法:uppercaseString
? ? ? ? NSString *upperString = [stringFirst uppercaseString];
? ? ? ? NSLog(@"%@,%@",lowerString,upperString);
? ? ? ? //首字母大寫的方法:capitalizedString
? ? ? ? NSString *capString = [stringFirst capitalizedString];
? ? ? ? //判斷是否以某字符串開頭的方法:hasPrefix 或者結(jié)尾的方法:hasSuffix
? ? ? ? NSLog(@"%i %i",[stringFirst hasPrefix:@"ab"],[stringFirst hasSuffix:@"de"]);
? ? ? ? //用i去替換字符串中的b
?? ? NSLog(@"%@", [stringFirst stringByReplacingOccurrencesOfString:@"b" withString:@"i"]);
? ? ? ? //字符串比較的方法compare: 0是相等 1前者大于后者 -1 后者大于前者
? ? ? ? NSLog(@"compare:%ld",[stringFirst compare:stringSend]);
? ? //NSMutableString
? ? ? ? //創(chuàng)建一個(gè)可變的字符串
? ? ? ? NSMutableString *strMu = [NSMutableString string];
? ? ? ? //給可變字符串增加字符串
? ? ? ? [strMu appendString:@"abcd"];
? ? ? ? //刪除可變字符串中的某個(gè)區(qū)間
? ? ? ? [strMu deleteCharactersInRange:NSMakeRange(1, 1)];
? ? ? ? //C里面結(jié)構(gòu)體的寫法
? ? ? ? NSRange range = {1,2};
? ? ? ? //修改字符串中的某個(gè)字符 返回了一個(gè)新的字符串
? ? ? ? [strMu stringByReplacingCharactersInRange:range withString:@"de"];
? ? ? ? NSLog(@"strMu:%@",strMu);
? ? ? ? NSMutableString *strMuII;
? ? ? ? Person *person= [[Person alloc]init];
? ? ? ? person->string = [NSMutableString stringWithCapacity:10];
? ? ? ? strMuII =[NSMutableString stringWithCapacity:10];
? ? ? ? [strMuII appendString:@"hhh"];
? ? ? ? NSLog(@"strMuII:%@",strMuII);
? ? ? ? //NSArray 數(shù)組的創(chuàng)建 數(shù)組的遍歷 數(shù)組元素的類型有對象類型 NSNumber NSString NSDictionary NSArray NSValue
? ? ? ? NSArray *arrayI = @[@1,strMuII,person];
? ? ? ? NSArray *arrayII = [[NSArray alloc]init];
? ? ? ? NSArray *arrayIII = [NSArray array];
? ? ? ? NSLog(@"arrayI%@",arrayI);
? ? ? ? //遍歷:
? ? ? ? for (int i=0; i<[arrayI count]; i++) {
?? ? ? ? ? NSLog(@"for method:%@",? [arrayI objectAtIndex:i]);
// ? ? ? ? arrayI[i];c中某個(gè)數(shù)組元素的寫法
? ? ? ? }
? ? ? ? for (id name in arrayI) {
? ? ? ? ? ? NSLog(@"for in method:%@",name);
? ? ? ? }
? ? ? ? //將數(shù)組中的元素拼接起來
?? ? ? NSString *strJoin = [arrayI componentsJoinedByString:@""];
? ? ? ? NSLog(@"strjoin:%@",strJoin);
//? ? ? ? 不可以通過KVC修改某元素的值
//? ? ? ? [arrayI setValue:@2 forKey:arrayI[0]];
? ? ? ? [arrayI subarrayWithRange:NSMakeRange(1, 2)];
? ? ? ? NSLog(@"+++%@",arrayI);
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
?? ? ? ?
? ? ? ? NSLog(@"Hello, World!");
? ? }
? ? return 0;
}
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
? ? @public
? ? NSMutableString *string;
}
@end
轉(zhuǎn)載于:https://my.oschina.net/u/2499773/blog/525458
總結(jié)
- 上一篇: 容器私有云和持续发布都要解决哪些基础问题
- 下一篇: SESSION存储于redis(CI3)