我在类的方法中添加了一些方便的方法来SKPhysicsBody
更容易地处理它们。didBeginContact
SKPhysicsContactDelegate
@interface SKPhysicsBody (MyCategory)
-(void)convenience;
@end
看来委托使用不同的类型,然后记录在案。当我尝试在 didBeginContact 中使用这种便捷方法时,出现异常。
尝试以下测试代码时
-(void)didBeginContact:(SKPhysicsContact *)contact {
NSLog(@"%@, %d", [contact.bodyA class], [contact.bodyA isKindOfClass:[SKPhysicsBody class]]);
}
它会记录
PKPhysicsBody, 0
PKPhysicsBody 是(私有)PhysicsKit 框架的一部分。
虽然SKPhysicsContact文档明确指出
bodyA
The first body in the contact. (read-only)
@property(readonly, nonatomic) SKPhysicsBody *bodyA
有没有办法解决这个问题,所以我仍然可以使用 SKPhysicsBody 类类别?还是我误解了某些东西,这是预期的行为吗?