Я играю с этим Обучающим пособием по бурундуку и сталкиваюсь с проблемой следующего кода (в разделе 5):
// Create our shape associated with the ball's body
cpShape *ballShape = cpCircleShapeNew(ballBody, 20.0, cpvzero);
ballShape->e = 0.5; // Elasticity
ballShape->u = 0.8; // Friction
ballShape->data = ball; // Associate with out ball's UIImageView
В последней строке-> данные = мяч;Я пытаюсь связать свойство data объекта ballShape с шариком объекта UIImageView.Если я отключаю обработку ARC, это работает нормально, но с ARC я не могу этого сделать, получая ошибку:
"Implicit conversion of an Objective-C pointer to 'cpDataPointer' (aka 'void *') is disallowed with ARC"
Поскольку ballShape является указателем, а исходный объект имеет свойство данных, естьКак я могу назначить объект ball этому свойству и сделать ARC счастливым?Я пытаюсь следующий код:
ballShape->data = (__bridge cpDataPointer)ball; // Associate with out ball's UIImageView
Это делает ошибку исчезает, но это правильное решение для этой проблемы?Я просмотрел документацию Apple по ARC, но в данный момент многое из этого у меня над головой.Извините заранее, если это довольно простой вопрос, но оператор "->" в C смущает и злит меня.:)