[英]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.