嗨,我是iphone新手,並開始學習Obj c。obj c函數中(+)和( - )運算符有什麼區別
我有注意到函數的定義,對於一些功能我們使用( - )和一些功能我們使用(+)
例子: +(ID)requestWithURL:(NSURL *)theURL
- initWithURL:
這兩個運算符/符號的用法有什麼區別?
的感謝!
嗨,我是iphone新手,並開始學習Obj c。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
這些符號不應與數學運算符+
和-
,這隻能作爲二進制或一元ARITH的一部分被施加混淆特質表達。
感謝您的詳細解釋。 – Ram 2010-06-03 14:03:05