// #import 包含文件
#import <Foundation/Foundation.h>
// int 整型; main函数是程序的出入口
int main(int argc, const char * argv[]) {
@autoreleasepool {
// NSLog()函数进行打印输出 @后接字符串
NSLog(@"Hello, World!");
}
return 0;
}
NS前缀就是知道是Cocoa中的系统类的名称
1、NSString() —–NSString指针变量可以保存1个字符串数据的地址。
/* 一、OC字符串OC字符串必须以@开头
* 二、@必须写在”“前面
* 三、在OC中打印字符串使用%@
* 四、NSString只能储存字符串数据地址 */
····
NSString *str = @"定义个字符串";
NSLog(@"%@", str)
// 创建字符串的四种方式
//1.
NSString *name=@"张三";
NSLog(@"%@",name);
//2.
NSString *string = [NSString new];
string=@"李四";
NSLog(@"%@",string);
//3.
NSString *string2= [[NSString alloc] initWithFormat:name];
NSLog(@"%@",string2);
//4.
NSString *string3=[NSString
stringWithFormat:@"图片 xxx %02d- %02d",0x13,10];
NSLog(@"%@",string3);
//字符串的长度
NSLog(@"str的长度为:%ld",[str length]);//7
@直接接英文:代表OC语言中的一个关键字
成员变量:成员变量作用域修饰符有:
1.@public 全局都可以访问
2.@protected 只能在类内部和子类访问
3.@private 只能在类内部访问
4.@package:在同一框架内,可以直接访问
对象
// 创建对象: 类名 *对象名 = [类名 new]
Person *person = [Person new];
// 调用对象中方法: [对象名 方法]
[person showInfo: @"传参数"]
// 调用成员的变量: (*对象名).name = @"名字"; 或 对象名->name = @"名字"
(*person).name = @"名字";
person->name = @"名字";
self —在方法中使用本身
1、在对象方法中代表当前对象本身
2、在类方法中代表当前类
3、self 访问成员的变量: self -> 成员变量名
super的应用
1.用在对象的方法中 :调用对象父类的对象方法
2.用在类方法中 :调用类的父类的类方法
类对象
Teacher *teacher=[Teacher new];
//第一种获取类对象的方法
Class c1=[teacher class];
//第二种获取类对象方法
Class c2=[Teacher class];
// c2= [Teacher new];
//[(Teacher*)c2 test];
[c2 show];
// c2->_num;
self
Person *per=[Person new];
//test为对象中的方法,
//如果对象per中没有test方法就会报错
SEL s=@selector(test);
//调用方式:[对象名 performSelector:SEL的变量名]
[per performSelector:s];
id:万能指针 能够指向任何OC对象 id自带*
1.作为参数
2.作为成员变量