-2

タイトル通り、メモリアドレスを文字列で保存しました

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

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

「pointerStr」はクラスのアドレス文字列です。

今私の質問は、クラスをpointerStrで取得できますか? どうもありがとうございました!

別の問題 クラスが dealloc の場合

オブジェクトが有効かどうかを判断するにはどうすればよいですか

4

1 に答える 1

0

iOS が 32 ビット システムの場合、これは機能しますが、危険なので実行しないでください。

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

64 ビット Mac の場合は、次を使用します。

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

しかし、オブジェクト ポインタを格納するためのより良い方法があるはずです...

于 2013-02-27T09:53:03.063 に答える