繁体   English   中英

obj c函数中(+)和(-)运算符有什么区别

[英]What is the difference between (+) and (-) operator in obj c function

嗨,我是iphone新手,开始学习Obj c。

我注意到函数定义,对于某些功能,我们正在使用(-),对于某些功能,我们正在使用(+)

示例:+(id)requestWithURL:(NSURL *)theURL

– initWithURL:

这两个运算符/符号的用法有什么区别?

谢谢!

在类定义的上下文中, +/-确定方法是实例方法还是类级别方法。

+表示方法是类级别的,您不需要实例来调用它。

-表示该方法是实例方法,必须通过对象的实例调用。

静态(+)方法的常见示例是NSString::stringWithFormat ,当您调用它时,它没有实例,而是使用类名:

[NSString stringWithFormat: @"Your age is %d", age];

必须在适当对象的实例上调用实例方法,其中一个示例是:

NSString *s = @"oop:ack:zonks::ponies";
int len = [s length]; // instance method called

这些符号不应与数学运算符+-混淆,后者只能用作二进制或一元算术表达式的一部分。

+ =静态方法(即,您不需要类的实例来调用该方法-但您不能使用非静态成员变量或类似的方法)

- =实例方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM