其他分享
首页 > 其他分享> > Objective-C 中不带加减号的方法

Objective-C 中不带加减号的方法

作者:互联网

显而易见的事实是,Objective-C 中,+ 表示类方法,- 表示实例方法。

但看别人代码过程中,还会发现一种,不带加减号的方法。

@implementation MyViewController

void foo(){
    printf("msg from foo...");
}

- (void)loadView {
  [super loadView];
  foo();
}

@end
 

这种是混搭的 C 代码。

当然当 C 方法写在 @implementation 内也是可以的,编译器会正确地处理。因为 C 方法严格来说不隶属于类,好的做法是始终写在类实现的外部。

void foo(){
    printf("msg from foo...");
}

@implementation MyViewController

- (void)loadView {
  [super loadView];
  foo();
}

@end
 

C 中获取 Objective-C 的数据

但如果你以为将 C 代码写在 @implementation 内部就可以获取到类里面的数据,那是不现实的。

MyViewController.h

@interface MyViewController ()
@property NSString *someStr;
@end
 

MyViewController.m

@implementation MyViewController
// void foo() { printf(self.someStr); } // 

标签:中不带,MyViewController,implementation,void,加减,loadView,Objective,foo,someStr
来源: https://www.cnblogs.com/Wayou/p/14814748.html