Mac开发中心的+是什么意思?

问题描述 投票:0回答:2

例如,NSString documentation has

– initWithFormat:
– initWithFormat:arguments:
– initWithFormat:locale:
– initWithFormat:locale:arguments:
– initWithData:encoding:
+ stringWithFormat:
+ localizedStringWithFormat:
+ stringWithCharacters:length:
+ stringWithString:
+ stringWithCString:encoding:
+ stringWithUTF8String:

那么当方法名称左边有+时,它意味着什么?

objective-c
2个回答
2
投票

带+的方法是一种静态方法。所以你将发送消息给类,而不是它的实例。


7
投票

+用于类方法(在C#和Java等语言中也称为static方法) - 与类型相关的方法而不是类型的特定实例。

-就是方法;在特定实例上调用的方法。

例如,我们有

- length
+ availableStringEncodings

因为length指的是特定字符串的长度,而availableStringEncodings只返回系统上可用的编码列表。

这只是Objective-C的一部分 - 我建议你找一本好的Objective-C书或教程。

© www.soinside.com 2019 - 2024. All rights reserved.