Mencampurkan C dan Objektif-C dalam Projek Anda
Mencampurkan C dan Objektif-C dalam projek yang sama boleh dilaksanakan dengan beberapa langkah berjaga-jaga. Untuk menggunakan kaedah Objective-C daripada C , anda boleh menggunakan fungsi pembalut C standard yang menawarkan antara muka gaya C untuk kod bukan Objektif-C.
Pendekatan Fungsi Pembalut C
Buat fail berikut:
-
MyObject-C-Interface.h: Isytiharkan fungsi pembalut C MyObjectDoSomethingWith.
-
MyObject.h: Tentukan kelas Objective-C anda dan fungsi ahli yang anda mahu panggil dari C .
-
MyObject .mm: Laksanakan fungsi pembungkus MyObjectDoSomethingWith dan ahli Objective-C fungsi.
-
MyCPPClass.cpp: Sertakan pengepala fungsi pembalut dan laksanakan kelas C anda, yang menggunakan fungsi pembalut untuk memanggil kaedah Objective-C.
Fungsi pembalut membolehkan anda memanggil kaedah Objektif-C daripada C menggunakan sintaks C, tanpa perlu memasukkan pengepala Objektif-C dalam C anda kod.
Pendekatan Corak PIMPL
Cara lain untuk mencampurkan C dan Objektif-C ialah menggunakan corak PIMPL (Penunjuk kepada Pelaksanaan):
-
MyObject -C-Interface.h: Tentukan antara muka untuk PIMPL (pelaksanaan) kelas.
-
MyObject.h: Isytiharkan kelas Objektif-C anda, yang kini mewakilkan kepada kelas PIMPL.
-
MyObject.mm: Laksanakan kelas PIMPL dan kaedah kelas Objektif-C, yang memanggil PIMPL yang sepadan kaedah.
-
MyCPPClass.h: Sertakan antara muka PIMPL dan tentukan kelas C anda, yang menggunakan fungsi pembalut untuk memanggil kaedah PIMPL.
-
MyCPPClass. cpp: Laksanakan kelas C anda, yang menggunakan fungsi pembalut PIMPL untuk memanggil Objektif-C kaedah.
Pendekatan ini mengekalkan pelaksanaan Objektif-C anda secara peribadi, menjadikannya lebih mudah untuk menukar atau menukarnya kemudian.
Ingat untuk memasukkan pengepala yang diperlukan dan gunakan sintaks yang betul untuk pastikan penyepaduan antara C dan Objektif-C adalah lancar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengintegrasikan C dan Objektif-C dengan lancar dalam Projek Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn