blu*_*nd1 5 struct objective-c
我有一个struct Position,像这样:
typedef struct Position { int x, y; } Position;
Run Code Online (Sandbox Code Playgroud)
我怎么能在NSObject中传递它performSelector:withObject:afterDelay:?像这样:
Position pos;
pos.x = pos.y = 1;
[self performSelector:@selector(foo:)
withObject:pos // ERROR
afterDelay:5.0f];
Run Code Online (Sandbox Code Playgroud)
编辑:更改代码以修复拼写错误
嗯..使用CGPoint之类的东西
[self performSelector:@selector(foo:)
withObject:[NSValue valueWithCGPoint:CGPointMake(pos.x, pos.y)]
afterDelay:5.0f];
Run Code Online (Sandbox Code Playgroud)
再读一遍
NSValue v;
CGPoint point = [v CGPointValue];
Run Code Online (Sandbox Code Playgroud)
或者完全离开Position课程,CGPoint也是如此
小智 3
您可以使用NSValue类包装您的自定义类型。错误是您没有提供对该方法的对象引用。
尝试使用NSValue的+(NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type;类方法。另一方面,您可以使用 检索该值-(void)getValue:(void *)buffer;。
| 归档时间: |
|
| 查看次数: |
2998 次 |
| 最近记录: |