2011-03-12 31 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

相關問題