我正在使用MVC架构作为GUI应用程序.模型类有一些C函数.其中一个C函数调用Objective-C类的一些方法.我使用该类的对象来调用这些方法.发生的奇怪事情是先前对xyz方法的方法被完美地调用,但是当调用xyz方法时,该方法及其之后的方法不会被执行.我没有得到任何错误.所以无法弄清楚到底发生了什么.关于这可能是什么原因的任何想法?
正如Marc指出的那样,您可能正在使用对在objective-c范围之外未初始化的OBJC对象的引用.
这是一个调用ObjC对象方法的C代码的工作示例:
#importid 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]; }