视图控制器和类有什么区别



This Is my class.h

#import "BankAccountDetails.h"
    static int openAccounts = 0;
    @implementation BankAccountDetails
    +(BankAccountDetails *) newAlloc{
        openAccounts++;
        return [BankAccountDetails alloc];
    }
    +(int) totalOpen{
         return openAccounts;;
    }

这是我的视图控制器。

 #import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize lbl;
- (void)loadView{
    [super loadView];
    NSLog(@" 1 LoadView Calling");
}
- (void)viewDidLoad {
    [super viewDidLoad];
    lbl=[[UILabel alloc] init];
    lbl.backgroundColor = [UIColor redColor];
    lbl.text = @"hello frnd i'm making a lable ";
    [self.view addSubview:lbl];

请仔细看这个问题,我的问题是,实际上我很困惑我想知道 class.h 和 controller.h 之间的区别,而两者都是类。

类是一个抽象词,像我们这样的人(程序员)用它来将真实的实体表示到数字世界中。

这样所有视图、对象和控制器都可以通用地称为 Class。

因此,视图控制器

是一种类,它是视图管理视图及其子视图及其相关操作的控制器。

这两个类的主要区别在于它们都有不同的方法。

我的意思是class.h有类方法。类方法是可以在不创建类对象的情况下调用的方法。您可以仅使用类名来调用它。

例如:

int total = [BankAccountDetails totalOpen];

并且ViewController.h类包含实例方法,要调用这些方法,需要类的对象。

例如:

ViewController *controller = [ViewController alloc] init];
[controller openAccount];

此处需要注意的要点

您已经编写了-viewDidLoad()方法,因此ViewController类必须与UIViewController类一起扩展,否则会给您一个错误。

文件命名为[class name].h是一种约定

在类别的情况下[class]+[category].h

在您的情况下,您发布的ViewController.h实际上是ViewController.m(这是实现文件,而不是接口," h "代表头文件)。

ViewController类扩展UIViewController类,您可以沿着层次结构路径向下移动到NSObject的根类。

最新更新