[Objective-c 基础 - 2.5] .h和.m文件,点语法,成员变量作用域

A. 命令行编译和XCode编译

1.在存在多个.m源码实现文件的情况下,若根据需要引入.m文件,使用命令行仅仅编译主.m文件即可,但是XCode会同时编译全部.m文件,会发生编译错误(重复定义全局变量或函数)
解决方案:
使用.h和.m文件,分开声明和定义
 
 
B.XCode功能
1.自动生成.h和.m
2.保存、引用快捷代码块
3.方法索引注释
#pragma mark 方法的说明
#pragma mark - 方法的说明 加入分组线
4.链接错误查看,使用左上角的感叹号logo
 
C.点语法
实际是调用getter或者setter
 1 int main(int argc, const char * argv[]) {

 2     @autoreleasepool {

 3         Person *p = [Person new];

 4         p.name = @"李四";

 5         p.age = 21;

 6         NSLog(@"姓名:%@, 年龄是%d", p.name, p.age);

 7         

 8     }

 9     return 0;

10 }

 

D.成员变量作用域
作用域关键字
1.@public 任何地方都可以直接访问
 
2.@protected  能在当前类和子类直接访问
在.h文件中声明的变量默认是@protected状态
 
3.@private 只能在当前类的方法中直接访问
在.m文件中声明的变量默认是@private状态,同时不能跟.h中声明的变量同名
 
4.@package 只要在同一个框架中,就能访问
 
5.无论在.h还是.m都不能重复声明同名成员变量,会发生编译错误
 
 

你可能感兴趣的:(Objective-C)