我需要为NSMutableDictionary创建一个键。理想的关键是指针和整数的合并。
这只适用于指针 NSValue * key = [NSValue valueWithPointer:somePointer];
如何将somePointer + someInt加在一起,然后从结果中形成一个键?
答案 0 :(得分:0)
我会这样做:
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指针长度的类型进行强制转换。这将确保您不截断指针。