我正在使用MVC架构作为GUI应用程序.模型类有一些C函数.其中一个C函数调用Objective-C类的一些方法.我使用该类的对象来调用这些方法.发生的奇怪事情是先前对xyz方法的方法被完美地调用,但是当调用xyz方法时,该方法及其之后的方法不会被执行.我没有得到任何错误.所以无法弄清楚到底发生了什么.关于这可能是什么原因的任何想法?
dic*_*ciu 56
正如Marc指出的那样,您可能正在使用对在objective-c范围之外未初始化的OBJC对象的引用.
这是一个调用ObjC对象方法的C代码的工作示例:
#import <Cocoa/Cocoa.h>
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];
}
Run Code Online (Sandbox Code Playgroud)
您绝对可以从 C 函数对 Obj-C 对象运行方法,因此您的代码中有时可能会出现错误。如果我不得不猜测,当你不希望某个对象为零时,它听起来就像是零。通常,您首先会在函数中设置断点,这样您就可以找出相关对象的状态。
| 归档时间: |
|
| 查看次数: |
17669 次 |
| 最近记录: |