Objective c 将指针转换为int,反之亦然

Objective c 将指针转换为int,反之亦然,objective-c,pointers,memory-management,Objective C,Pointers,Memory Management,大约5年前,我设法将指针转换为int,暂时存储它,然后获取该int并将其转换回指针(Objective-C)。但我一辈子都记不起我是怎么做到的 有人能帮我吗 int a = (int)p; 像这样的?但是为什么呢?为什么不使用void*?但是如果你不知道,你可能应该读一本介绍C的书,而不是已经在尝试编写Objective-C代码。请注意,如果你正在使用ARC(你应该这样做),这个非常糟糕的想法将需要桥接。实际上,我已经有几年没有接触过C了,我最后一次使用它时,我不得不将Adobe的渲染技术整合

大约5年前,我设法将指针转换为int,暂时存储它,然后获取该int并将其转换回指针(Objective-C)。但我一辈子都记不起我是怎么做到的

有人能帮我吗

int a = (int)p;

像这样的?但是为什么呢?为什么不使用void*?

但是如果你不知道,你可能应该读一本介绍C的书,而不是已经在尝试编写Objective-C代码。请注意,如果你正在使用ARC(你应该这样做),这个非常糟糕的想法将需要桥接。实际上,我已经有几年没有接触过C了,我最后一次使用它时,我不得不将Adobe的渲染技术整合到我们的一个iOS应用程序中。当我问这个问题的时候,我也有点头脑发热。。。为我辩护……请注意,
int
可能不够大,无法容纳指针(例如,在64位平台上)。请参阅“可能的重复”以获得更好的选择。我在函数中有一个sender变量。发送者是id,但在本例中是一个按钮。我想将链接到按钮的对象的地址存储在buttons标签中,以便重新获得对它的引用。另一方面,当我坐在马桶上时,我意识到我已经做了大约5年了,我不是一个完全的noob,所以让我们对按钮进行子类化并为其添加一个属性:P