// NSString 对象的创建
// 1、通过字面量创建
NSString *str = @"天气冷了,注意身体!";
NSLog(@"%@",str);
// 2、通过对象方法
// NSString *str1 = [NSString new];
NSString *str1 = [NSString alloc];
// str1 = [str1 init];
str1 = [str1 initWithUTF8String:"大家要努力学习啊!"];
NSLog(@"%@",str1);
// 3、通过类方法创建对象
// 类方法它是隶属于类的,它是通过“类名”调用
// 此处的格式化字符串与NSLog中的格式化字符串是一样的
NSString *str2 = [NSString stringWithFormat:@"今天股票有跌%d个点!", 10];
NSLog(@"%@",str2);
// 4、NSString 对象中表示长度函数
// command + 鼠标左键点击进去
// length 计算的是字符串中有几个字符
long len = [str length];
NSLog(@"%ld",len);
char *strc = "天气冷了,注意身体!";
// strlen计算字符串所占用的字节数,在UTF8编码中一个中文占用3个字节
len = strlen(strc);
NSLog(@"%ld",len);
/*
BOOL OC提供的一种Boolean类型,就是用来表示逻辑上真与假这个类型
BOOL 在OC中有两个取值 YES 和 NO
YES 真 对应数字 1
NO 假 对应数字 0
使用BOOL可以提高代码可读性,减少代码的出错率
所有数据类型都可以定义变量
所有的数据类型都可以作为形参或实参
所有数据类型类都可以作为返回值
*/
//对象作为函数参数传递是地址传递
//在函数可以通过对象访问它里面成员变量
//也可以对象调用它的对象方法(成员方法)
void changePerson(Person *person)
{
person->age = 10;
[person say:@"大家好!"];
}
//因为对象是被创建堆中所以可以作为函数的返回值,
//而局部变量不可以作为函数的返回值的,应为它在栈中,离开函数就被消耗