在NSString中,长度是属性还是函数?

Ber*_*ard 1 objective-c nsstring ios

如下所述:

长度

str.length vs [str length]
Run Code Online (Sandbox Code Playgroud)

是长度属性还是方法?哪一个是正确的实施?

这是标准的iOS写作:

 if([self.clientNumberTxtField.text length] == 0)
Run Code Online (Sandbox Code Playgroud)

rma*_*ddy 6

length是一个属性.因此你可以这样做:

NSInteger len = str.length;
Run Code Online (Sandbox Code Playgroud)

但正如您应该知道的那样,属性只是一些适当的setter和getter方法组合的语法,通常是一个实例变量.由于您为此属性获取了"getter"方法,因此您还可以执行以下操作:

NSInteger len = [str length];
Run Code Online (Sandbox Code Playgroud)

两者都完全有效.这是个人喜好的问题.