gpt4 book ai didi

Objective-C:如何访问其他类中的方法

转载 作者:行者123 更新时间:2023-12-04 10:27:44 25 4
gpt4 key购买 nike

我有一个我知道的很简单的问题,但是在书本和互联网上多次搜索之后,我似乎无法想出解决方案。我有一个标准的 iPhone 项目,其中包含一个 ViewController。我的应用此时运行良好。

我现在想创建一个具有一些基本实用方法的通用类(扩展 NSObject)。我们将此类称为 Util.m(连同关联的 .h 文件)。

我在我的项目中创建了 Util 类(和 .h 文件),现在我想从我的 ViewController 访问该类中包含的方法。

这是一个简单版本的 Util.h 示例

#import <Foundation/Foundation.h>

@interface Util : NSObject {

}

- (void)myMethod;

@end

然后 Util.m 文件看起来像这样:

#import "Util.h"

@implementation Util

- (void)myMethod {
NSLog(@"myMethod Called");
}

@end

现在我的 Util 类已创建,我想从我的 ViewController 调用“myMethod”方法。在我的 ViewController 的 .h 文件中,我执行以下操作:

#import "Util.h"

@interface MyViewController : UIViewController {

Util *utils;

}

@property (assign) Util *utils;

@end

最后,在 ViewController.m 中,我执行以下操作:

#import "Util.h"

@implementation MyViewController

@synthesize utils;

- (void)viewDidLoad {
[super viewDidLoad];

utils.myMethod; //this doesn't work
[utils myMethod]; //this doesn't work either
NSLog(@"utils = %@", utils); //in the console, this prints "utils = (null)"
}

我做错了什么?我不仅希望能够像这样在一个简单的 util 类中直接引用其他类/方法,而且我还希望直接引用其他 ViewController 及其属性和方法。

我被难住了!请帮忙。

最佳答案

您可能应该看一看许多 Objective C 教程中的一个,但对您的问题的直接回答是您还没有分配和初始化对象的实例。代码应如下所示:

utils = [[Utils alloc] init];
[utils myMethod];

关于Objective-C:如何访问其他类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com