//
// main.m
// 类方法,不可以直接访问对象的属性和方法,类方法中可以直接调用类方法。
// NSString基本使用
#import <Foundation/Foundation.h>
//#import <string.h>
@interface Iphone : NSObject
- (NSString *)loadMessage;
@end
@implementation Iphone
- (NSString *)loadMessage
{
// return "老婆我们家我做主";
// 只需要在C语言字符串前面加上@符号, 系统就会自动将C语言字符串转换为OC字符串
return @"老婆我们家我做主";
}
@end
int main(int argc, const char * argv[]) {
// C语言中的字符串不是对象,普通数据类型,
char *name1 = "lnj";
char name2[] = "lmj";
// OC中的字符串是一个对象, 所以它就具备了很多功能,str是指针类型,
NSString *str = @"lk";
Iphone *p = [Iphone new];
// 注意: 输出C语言的字符串使用%s,输出OC的字符串使用%@, %@就专门用于输出对象类型的
NSLog(@"content = %s", [p loadMessage]);
NSLog(@"content = %@", [p loadMessage]);
NSLog(@"content = %@", p);
// 1.如何创建OC字符串
NSString *str = @"lnj";
printf("age = %i, height = %f\n", 30, 1.75);
NSString *str = [NSString stringWithFormat:@"age = %i, height = %f\n", 30, 1.75];
NSLog(@"str = %@", str);//age = 30, height = 1.750000
// 2.如何计算字符串的长度
char name[] = "lnj"; // l n j \0
char name1[] = "李";
// 包含\0
size_t size = sizeof(name);
printf("size = %lu\n", size);//4
// 不包含\0
size_t length = strlen(name1);
printf("length = %lu\n", length);//3,一个汉字3个字节
// 不包含\0的
// 计算出来的是个数, 而不是占用的字节数
NSString *str = @"lnj";
NSString *str1 = @"李南江";
NSUInteger len = [str1 length];//都是3个
NSLog(@"len = %lu", len);
return 0;
}