2012-09-10 24 views
0

我有一個客觀的c類A擁有C++類B有速度屬性。使用財產的構圖屬性

它是確定使用

@property(nonatomic) float velocity;

A類即使類沒有的速度屬性。當我執行 速度函數時,我會詢問B並返回該值,因此它是A的隱式屬性。

我想它是有效的,所以我的問題是如果這是很好的做法。

回答

0

絕對沒問題。假設你已經正確實現了getter和setter,那麼就沒有要求具有屬性的類有一個成員變量!

雖然您可能遇到KVO問題 - 此屬性不符合KVO標準。這幾乎肯定不是一個問題,雖然:)

0

我沒有看到這種方法的任何問題。如果確保只包含Objective C類的實現文件中的C++頭文件,那麼可以提供一個純粹的Objective C接口,我認爲它更重要。該屬性是一個值類型,因此在訪問該屬性時會複製該值。當以這種方式查看時,在訪問屬性時,沒有任何Objective C類的實現可以轉義。您可以在將來的任何階段自由更改屬性實現,而無需更改API的任何客戶端。

該屬性應該標記爲assign來指定它具有值的語義。

@property(nonatomic, assign) float velocity;