1.点语法主要作用就是方便其他语言的程序员在转变成为os程序员的时候方便他们理解和使用
那么具体例子如下:【本例子中使用了一条字段age作为参数】
// // dog.h // pro3 // // Created by 裴烨烽 on 14-1-24. // Copyright (c) 2014年 裴烨烽. All rights reserved. // #import <Foundation/Foundation.h> @interface dog : NSObject { int age; } -(void)setAge:(int)newAge; -(int)age; @end
【接下去是写dog.m文件】
// // dog.m // pro3 // // Created by 裴烨烽 on 14-1-24. // Copyright (c) 2014年 裴烨烽. All rights reserved. // #import "dog.h" @implementation dog -(void)setAge:(int)newAge{ age=newAge; } -(int)age{ return age; } @end
点语法主要使用就是在main函数中进行使用。
以下代码块作为一个比较
【1经典方式】
dog *dog1=[[dog alloc]init]; 这里主要是进行初始化并且分配内存空间 [dog1 setAge:100]; 这里主要是进行实例化赋值 int dogAge=[dog1 age]; 赋值 NSLog(@"dog age is %d",dogAge); 输出
【2.点语法】
dog1.age=200; 直接赋值 dogAge=dog1.age; 传入参数 NSLog(@"dog age is %d",dogAge); 输出
// main.m // pro3 // // Created by 裴烨烽 on 14-1-24. // Copyright (c) 2014年 裴烨烽. All rights reserved. // #import <Foundation/Foundation.h> #import "dog.h" int main(int argc, const char * argv[]) { @autoreleasepool { //使用经典调用和点语法
//这里是经典语法
dog *dog1=[[dog alloc]init]; [dog1 setAge:100]; int dogAge=[dog1 age]; NSLog(@"dog age is %d",dogAge); //这里是点语法 dog1.age=200; dogAge=dog1.age; NSLog(@"dog age is %d",dogAge); } return 0; }
//点语法是编译器级别
dog.age=200;
dogAge=[dog age];
编译器会把 dog.age=200;
展开成 [dog setAge:200];
会把 dogAge=dog1.age;
展开成 dogAge=[dog age];
点语法最终在编译的时候会转变成经典方式的语法,所以在运行套路上还是一样的,只是一种实现结果的多种方式而已。