There are several issues here.
(1) if your C ++ engine code works in isolation - if Objective-C acts as the interface that starts the base engine, then there is no penalty at all. C ++ bits in ObjC ++ compile in the same way as regular C ++.
(2) Objective-C , . Objective-C - objc_msgSend() ( ) - , , , , , . , ++ , , , ( ). Objective-C .
(3) , ...