#import <Foundation/Foundation.h>
#import "Person.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
/*
字符串可变 不可变
NSMutableString
NSString
数组 可变 不可变
NSMutableArray
NSArray
字典 可变 不可变
NSMutableDictionary
NSDictionary
NSSet
NSNumber封装C的基本数据类型
NSValue可以封装结构体
NSDate 表示日期
结构体
NSRange NSPoint NSSize NSRect
*/
//不可变的字符串定义 基本上有三种方式 直接定义、实例化、相对应的静态方法定义
NSString *stringFirst = @"abcd";
NSString *stringSend = [[NSString alloc]initWithFormat:@"abcd"];
//字符串的分割: substringFromIndex:通过第几个字符开始到结尾的分割 、 substringToIndex从0开始到指定的字符分割、获得字符串中的某个字符方法:characterAtIndex、以特殊字符分割的方法:componentsSeparatedByString:
NSString *stringTir =[stringFirst substringFromIndex:2];
NSLog(@"%@",stringTir);
unichar ca = [stringFirst characterAtIndex:3];
NSLog(@"%c",ca);
NSArray *array=[stringFirst componentsSeparatedByString:@","];
NSLog(@"%@",array);
//转化成小写的方法:lowercaseString
NSString *lowerString= [stringFirst lowercaseString];
//转化成大写的方法:uppercaseString
NSString *upperString = [stringFirst uppercaseString];
NSLog(@"%@,%@",lowerString,upperString);
//首字母大写的方法:capitalizedString
NSString *capString = [stringFirst capitalizedString];
//判断是否以某字符串开头的方法:hasPrefix 或者结尾的方法: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
//创建一个可变的字符串
NSMutableString *strMu = [NSMutableString string];
//给可变字符串增加字符串
[strMu appendString:@"abcd"];
//删除可变字符串中的某个区间
[strMu deleteCharactersInRange:NSMakeRange(1, 1)];
//C里面结构体的写法
NSRange range = {1,2};
//修改字符串中的某个字符 返回了一个新的字符串
[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 数组的创建 数组的遍历 数组元素的类型有对象类型 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中某个数组元素的写法
}
for (id name in arrayI) {
NSLog(@"for in method:%@",name);
}
//将数组中的元素拼接起来
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