黑马程序员技术交流社区

标题: 各位大侠门请教OC对象方法前加“+”号和”-“号的区别? [打印本页]

作者: zq110105    时间: 2015-9-23 12:30
标题: 各位大侠门请教OC对象方法前加“+”号和”-“号的区别?
各位大侠门请教OC对象方法前加“+”号和”-“号的区别?
作者: acdd112    时间: 2015-9-23 13:11
  1. //
  2. // main.m
  3. // TimeAfterTime
  4. //
  5. // Created by current on 9/18/15.
  6. // Copyright :copyright: 2015 current. All rights reserved.
  7. //

  8. #import <Foundation/Foundation.h>

  9. @interface Foo: NSObject
  10. {
  11. NSInteger uid;
  12. }
  13. -(void) init: (NSInteger) _id;
  14. -(void) Bar;
  15. +(void) Bar;
  16. @end

  17. @implementation Foo

  18. -(void) init: (NSInteger)_id
  19. {
  20. uid = _id;
  21. }

  22. -(void) Bar
  23. {
  24. NSLog(@"My id is %ld", uid);
  25. }

  26. +(void) Bar
  27. {
  28. NSLog(@"Bar from Foo, No uid.");
  29. }
  30. @end

  31. int main(int argc, const char * argv[]) {
  32. @autoreleasepool {
  33. Foo *p = [[Foo alloc] init];
  34. [p Bar];
  35. [Foo Bar];
  36. }
  37. return 0;
  38. }
复制代码
+代表类方法,相当于C++里static
-是实例方法,在一个类被实例化后才可以被调用





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2