在Swift中调用自定义Objective-C方法?

时间:2014-10-10 20:20:11

标签: objective-c function methods swift

我目前正在网上学习几个Swift课程来计算这个新语法,但我觉得我遇到了一个我无法弄清楚的墙。

我的问题是:在Swift中调用自定义Objective-C方法需要做什么?为什么Swift不能识别代码的来源?为什么我会收到类似“UIViewController没有名为'customMethod'的成员”的错误?这是一个进口问题吗?

既然你知道我的问题,这就是我要问的原因和背景

我有一个调用此方法的objective-c .m文件:

- (void)configureMyApp
{
// overridden by subclasses
}    

然后这个:

- (void)addAppElement:(MyAppElement *)element
{
  [self addAppElement atIndex:[self.elements count]];
}

在我的Swift应用程序中,我设置了桥接头并将.h文件导入到所述头文件中

我试图通过这个Swift函数调用configureMyApp方法:

func configureMyApp()
{

self.addAppElement...
}

但它无法识别该函数来自我导入的objective-c文件,myswiftfile.swift也不识别addAppElement

我在obj-c中称之为的方式是:

- (void)configureMyApp
{
[super configureMyApp];

[self addAppElement:.....];
}

导入obj-c代码还需要做什么吗?我能错过什么?

1 个答案:

答案 0 :(得分:1)

此错误:UIViewController does not have a member named 'customMethod'表示您尝试在customMethod键入的对象上调用UIViewController,而不是UIViewController的自定义子类。