选择器 OpenDevice 的未知 class 方法

Not known class method for selector OpenDevice

我正在 Objective-c 中为 OSX 开发应用程序。

我已经写了第一个 class 并尝试在我的 MainThread 中调用它 class。

构建成功但应用崩溃

DeviceManager.h

#import <Foundation/Foundation.h>

@interface DeviceManager : NSObject

+(void)DeviceManager:OpenDevice;

@end

DeviceManager.m

#import "DeviceManager.h"

@implementation DeviceManager

- (id)init{
    self = [super init];
    if(self){
        NSLog(@"Init");
    }
    return self;
}

+ (void)DeviceManager:OpenDevice {
    NSLog(@"Opening Device");
}

@end

main.m正在调用它:

#import "DeviceManager.h"


int main(int argc, const char * argv[]) {
    [DeviceManager OpenDevice];
    return NSApplicationMain(argc, argv);
}

在构建时,我不知道 class 选择器 OpenDevice 的方法

谢谢 塞布

#import <Foundation/Foundation.h>

@interface DeviceManager : NSObject

+ (void) openDevice;

@end

DeviceManager.m

#import "DeviceManager.h"

@implementation DeviceManager

+ (void) openDevice {
    NSLog(@"Opening Device");
}

@end

main.m

#import "DeviceManager.h"

int main(int argc, const char * argv[]) {
    [DeviceManager openDevice];
    return NSApplicationMain(argc, argv);
}

以上对我有用。 DeviceManager:OpenDevice 是什么意思?因为除非它是一种定义方法的新方法,否则它就是胡言乱语。看起来你想要一个名为 openDevice 的设备管理器的 class 方法...所以使用 + (void) openDevice {...}.