If you want, you can write a lot of wrappers around the key parts of a program.
Example, you can write as many key routines you can in C or C++ and then write the Swift or ObjC only as needed. If you do this some of the code would cross over. This could work with something that has a bunch of special routines and would be less worthwhile if it's using a bunch of API calls and they won't transfer well, if at all.
However, depending on what you are developing, I really don't know if cross platform native code is practical.
Languages like Swift/ObjC really don't have an effect on someone using something like Unity. This is one of the upsides of using a product like that.