使用以下方法很容易将对象的类/地址作为字符串获取:
NSString* objectInfoString = [object description];
Run Code Online (Sandbox Code Playgroud)
返回的字符串是这样的<ClassName: fk10009567>,字母和数字代表它在内存中的唯一地址,据我所知.
或者,对于地址,只需使用带有%p占位符的格式化NSString.
NSString* addressString = [NSString stringWithFormat:@"%p",myObject];
Run Code Online (Sandbox Code Playgroud)
那么可以从这个字符串信息创建一个指针吗?例如:
NSObject* foo = [[NSObject alloc]init];
NSString* fooAddressString = [NSString stringWithFormat:@"%p",foo];
Run Code Online (Sandbox Code Playgroud)
然后,我希望能够做到这样的事情:
NSObject* newFoo = [NSObject objectForAddressString:fooAddressString];
Run Code Online (Sandbox Code Playgroud)
这样newFoo = foo就是真的.