如何通过添加指针和整数来创建NSValue?

我需要为NSMutableDictionary创建一个键。理想的关键是指针和整数的合并。 这只适用于指针 NSValue * key = [NSValue valueWithPointer:somePointer]; 如何将somePointer + someInt加在一起,然后从结果中形成一个键?     
已邀请:
我会这样做:
NSObject *p = <object>
int  n = 0xdeadbeef;
NSValue *v = [NSValue valueWithPointer:(void *)((uint32_t )p + n)];

NSLog(@"p = %p n = %x v = %@",p,n,v);
指针是整数类型,其大小取决于您的平台(通常为32位或64位),可以使用合适的强制转换将其添加到其他整数类型。只需确保使用长度大于或等于void指针长度的类型进行强制转换。这将确保您不截断指针。     

要回复问题请先登录注册