Я добавил несколько удобных методов в 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? Или я что-то неправильно истолковываю, и это ожидаемое поведение?