我已經創建了一個使用靜態的NSSet來定義我的類的每個實例共享某些元素的類。可可釋放一個靜態變量
要定義這個瑟我用這個代碼:
myStaticSet = [[NSSet setWithObjects:
@"element one",
@"element two",
nil
]retain];
正如你可以看到我保留集。
我真的不明白我在哪裏可以發佈myStaticVariable
我敢肯定,我不能釋放它在dealloc
...那麼有沒有辦法釋放一個靜態變量?
//編輯 這可能是一個很好的解決方案增加了一類新方法來釋放靜態值?
+(void)cleanstatic{
[mystatic release];
}
當我確定我已經完成了這個課程時調用它?
謝謝你,你可以看看我的編輯? – MatterGoal
當然,這是可能的,但是在例如多線程場景中很容易出錯。如果可能的話,我寧願推薦重構你的代碼,以便將它加入到一個實例變量中,然後你可以在完成時根據和釋放來處理它。有什麼特別的東西讓你想要釋放變量嗎?它有很多數據嗎? – lbergnehr
它只需要20個字符串,但我正在尋找寫這段代碼的正確方法。我認爲爲這個類的每個實例創建20個字符串不是正確的方式,因此,我想採用靜態變量。那麼,在多線程場景中,這個實現會是一團糟? – MatterGoal