Ios 如何通过指针和整数相加来创建NSValue?
我需要为NSMutableDictionary创建一个键。理想的键是指针和整数的合并 这只适用于指针 NSValue*key=[NSValue-valueWithPointer:somePointer] 如何将somePointer+someInt相加,然后根据结果形成一个键?我会这样做:Ios 如何通过指针和整数相加来创建NSValue?,ios,iphone,nsvalue,Ios,Iphone,Nsvalue,我需要为NSMutableDictionary创建一个键。理想的键是指针和整数的合并 这只适用于指针 NSValue*key=[NSValue-valueWithPointer:somePointer] 如何将somePointer+someInt相加,然后根据结果形成一个键?我会这样做: NSObject *p = <object> int n = 0xdeadbeef; NSValue *v = [NSValue valueWithPointer:(void *)((uint3
NSObject *p = <object>
int n = 0xdeadbeef;
NSValue *v = [NSValue valueWithPointer:(void *)((uint32_t )p + n)];
NSLog(@"p = %p n = %x v = %@",p,n,v);
NSObject*p=
int n=0x0;
NSValue*v=[NSValue VALUE WITH POINTER:(void*)((uint32_t)p+n)];
NSLog(@“p=%p n=%x v=%@”,p,n,v);
指针是整数类型,其大小取决于您的平台(通常为32或64位),可以使用合适的强制转换将其添加到其他整数类型。只需确保使用长度大于或等于空指针长度的类型强制转换即可。这将确保您不会截断指针。严格来说,这个问题与UIKit没有任何关系。同意。然而,问题产生的背景可能对其他人有所帮助。