IOS点语法详解
程序员文章站
2024-01-19 16:06:40
ios点语法详解。在用oc写代码的时候,通常用到点语法。因为是用于属性,调用属性的getter方法。这种方法我们就不在过多介绍。今天看到一个demo,分类方法中的方法,使用点语法使用。瞬间不解。于是...
ios点语法详解。在用oc写代码的时候,通常用到点语法。因为是用于属性,调用属性的getter方法。这种方法我们就不在过多介绍。今天看到一个demo,分类方法中的方法,使用点语法使用。瞬间不解。于是研究一下点语法。并且写了一个demo。希望帮助大家深刻理解点语法
首先我们写一个分类方法 .h
@interface trfraction (trtransfer) -(double)transfer; @end
.m
@implementation trfraction (trtransfer) -(double)transfer { return self.n * 1.0 / self.d; } @end
controller中调用
- (void)viewdidload { [super viewdidload]; trfraction *f2 = [trfraction fractionwithn:15 andd:25]; [self showfraction:f2]; //self.outputlabel.text = [nsstring stringwithformat:@"%lg", [f2 transfer]]; self.outputlabel.text = [nsstring stringwithformat:@"%lg", f2.transfer]; }
看到上面一种方法相比大家都十分熟悉。类中的实例方法,直接使用类对象调用,用的是空格语法调用,通常来说我们都这么用。但是实验了一下点语法也可以正常调用,正常输出。这就要说到点语法的特性。点语法实际上就是调用getter方法。那怎么判断是getter方法呢。就是返回值。我们可以看到transfer这个方法有返回值。所以就被当成的getter方法。可以正常调用。虽然我们知道没有transer这个属性。但是这个方法是可以被当成getter方法调用的。