在之前的文章中,我解释说我正在将旧的'C'程序转换为Objective-C,并了解了消息传递(旧版本)静态方法和类方法之间的区别。从类方法调用实例方法:可能或不可以?
但是,我现在怎么能得到一个类方法来调用一个实例方法(假设它甚至可能)?这里是原来的(静态)函数:
static int newSplitB(int b, int hi, int lo, int found)
{
int hlp;
if(hi - lo <= 1)
return 0;
bIs(lo + (hi - lo + 1)/2); // calls function bIs();
return 1;
}
和完全相同的代码 '翻译' 成的OBJ-C:
+(int)newSplitB :(int)b :(int)hi :(int)lo :(int)found
{
int hlp;
if((hi - lo) <= 1)
return 0;
[TablesClass bIs:(lo+(hi-lo+1)/2)]; // gives compile error
return 1;
}
的 '双()' 功能 - 剪断,为了简洁 - 是坐在我的'表'类的一个单独的源文件中。不幸的是,尽管该类已经在相同的实现文件中被分配/更新过,但试图构建该程序给了我一个未声明(首次在此函数中使用)的'TablesClass'错误。
我已经搜索了一个解决方案的网络小时,但无济于事。如果我想要做的事情是不可能的,我怎么能修改最后的方法来做我以后的事情?在此先感谢:-)
是'bIs` C函数或`TablesClass`方法? – BoltClock 2011-02-19 06:21:16