2011-03-12 43 views
1

我是Objective-C 2.0的新手,但对C++非常熟悉。Objective-C 2.0:'Interface'文件(或头文件)中的一行方法

在C++中,我会在类.h或头文件中执行以下操作,但似乎无法在XCode 4.0中的Objective-C 2.0中执行此操作。

有没有'Objective-C 2.0'的方法来做到这一点?

在头文件:

// Header File 

class MyClass 
{ 
    private: 
      float _myFloat; 
    public: 
      (float) getMyFloat { return _myFloat; } 
}; 

的想法是,我没有去成.cpp文件添加“getMyFloat”的方法,我可以做这里面标题。

当我尝试使用Objective-C 2.0在XCode 4.0中执行此操作时,它会给我带来错误。

-(float) getMyFloat { return _myFloat; } 

感谢您的任何建议。

回答

1

在Objective-C中没有办法做到这一点,方法的实现可能只出现在@implementation块中。

虽然它可能是一个方便的语法糖,但无论如何这样做不会有任何真正的优势。在C++中,它允许内联该方法,但这对于Objective-C不起作用,原因与inline virtual functions are not often useful in C++相同。特别是考虑到Objective-C中不能有实际的对象变量而不是指针,并且可以在运行时使用class_replaceMethod,method_exchangeImplementations或从包中加载的类别更改任何方法的实际实现(即使是dealloc)。

+0

非常感谢你的清理。 – Cullen 2011-03-13 22:31:50

相关问题