2014-09-06 99 views
0

當我有一個SKScene時,它是否更適合用於計分,生命計數精靈等等的變量,將它們聲明爲屬性,或者將它們聲明爲@implementation中的變量。我知道屬性的內存管理,但是如何釋放對象,當它們被聲明爲經典變量時。如果SKScene被釋放,他們是否從內存中釋放,或者我是否需要照顧他們一些特殊的方式(將它們設置爲零或類似的東西)。我所關心的只是對它們的內存管理。什麼更好 - 屬性或變量。 謝謝。屬性vs變量

+0

使用ARC。它會在大多數時間爲你處理所有事情。 – idmean 2014-09-06 08:06:10

+1

沒有銀子彈。你將內存管理(弱vs強)與訪問級別(ivars vs properties)相混淆。如果您不需要訪問該類範圍之外的變量,請使用ivars。否則,使用其他類應該能夠更改的變量的屬性。 – LearnCocos2D 2014-09-06 08:48:58

回答

1

這一切都取決於將使用這些變量。如果他們是完全私人的話,我將宣佈他們在實現文件的私人類別:

@interface MySceneClass() 
{ 
    unsigned _score; 
    NSTimeInterval _ticker; 
} 

然而,如果其它類需要讀/寫他們,使用特性:

@interface MySceneClass : SKScene 

@property (assign, readonly) unsigned score; 
@property (assign) NSTimeInterval ticker; 

至於內存管理擔心,使用ARC時它們幾乎是一樣的。編譯器將處理釋放對象。

+0

感謝您的幫助。 – Baerdon 2014-09-06 11:05:00