当前位置:  开发笔记 > 后端 > 正文

无法从C函数调用Objective C方法

如何解决《无法从C函数调用ObjectiveC方法》经验,为你挑选了1个好方法。

我正在使用MVC架构作为GUI应用程序.模型类有一些C函数.其中一个C函数调用Objective-C类的一些方法.我使用该类的对象来调用这些方法.发生的奇怪事情是先前对xyz方法的方法被完美地调用,但是当调用xyz方法时,该方法及其之后的方法不会被执行.我没有得到任何错误.所以无法弄清楚到底发生了什么.关于这可能是什么原因的任何想法?



1> diciu..:

正如Marc指出的那样,您可能正在使用对在objective-c范围之外未初始化的OBJC对象的引用.

这是一个调用ObjC对象方法的C代码的工作示例:

#import 

id refToSelf;

@interface SomeClass: NSObject
@end

@implementation SomeClass
- (void) doNothing
{
        NSLog(@"Doing nothing");
}
@end

int otherCfunction()
{
        [refToSelf doNothing];
}


int main()
{

    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    SomeClass * t = [[SomeClass alloc] init];
    refToSelf = t;

    otherCfunction();

    [pool release];
}


伙计,你摇滚.我浪费了一个美好的一天,你的代码只是挽救了一个糟糕的一天.我希望我能再投100票.
推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有