Objective-C 中没有加减号的方式

不言而喻的客观事实是,Objective-C 中, 表明类方法,- 表明实例方法。

但看他人编码全过程中,还会继续发觉一种,没有加减号的方式。

@implementation MyViewController

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

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

@end
 

这类是配搭的 C 编码。

自然当 C 方式写在 @implementation 内也是能够 的,c语言编译器会恰当地解决。由于 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); } // 
                                    	

评论(0条)

刀客源码 游客评论