2013-02-27 71 views
-2

就像冠軍,我已保存的內存地址爲一個字符串我可以用儲存串

MyClass *class = [[MyClass alloc] init]; 

NSString *pointerStr = [NSString stringWithFormat:@"%p", class]; 

的「pointerStr」是類的地址字符串獲取對象;

現在我的問題是我可以通過pointerStr獲得Class?非常感謝你!

另一個問題如果類的dealloc

我怎麼能確定對象是否是有效

+0

http://stackoverflow.com/questions/5756605/ios-get-pointer-from-nsstring-containing-address – user523234 2013-02-27 09:57:36

+0

你應該使用'NSValue' – 2013-02-27 10:16:23

+0

@ xlc如何幫助?爲什麼在另一個對象中包裝對象? – trojanfoe 2013-02-27 10:17:47

回答

0

這將工作給予的iOS是一個32位系統,但它是危險的和不應該做的:

MyClass *class = (MyClass *)[pointerStr intValue]; 

對於64位Mac,用途:

MyClass *class = (MyClass *)[pointerStr longLongValue]; 

但必須有更好的方法來存儲對象指針...

+0

如何得到它謝謝〜:) – Siverchen 2013-02-27 09:57:39

+0

@Siverchen更新。 – trojanfoe 2013-02-27 09:58:22

+0

這不適用於ARC。 – Jeremy 2013-02-27 10:01:56

相關問題