Arvanttt

تند و سریع

Arvant

تند و سریع












فراخوانی توابع Objectiv-c در ++C

دوشنبه, ۲۳ آذر ۱۳۹۴، ۱۰:۴۵ ب.ظ

خیلی از امکاناتی که معمولاَ برای پلتفرم IOS وجود دارد شاید هنوز از طریق cocosقابل دسترسی نباشد و به همین خاطر گاها نیازمند فراخوانی توابع Objectiv-c در داخل کد اصلی بازی که به زبان ++C است می شویم .

پیاده سازی این امکان به مراتب ساده تر از پیاده سازی توسط جاواست چون سی پلاس پلاس و آبجکتیو سی رابطه خانوادگی خوبی با هم دارند و اصولاَ بهتر با هم کنار خواهند آمد .

برای این منظور نیازمند دو فایل با پسوند های h.  و mm. هستیم که در یکی رابط کلی کلاس و در دیگری توبع مورد نیاز را تعریف می کنیم .

به عنوان مثال با ایجاد فایل های callNative.h  و callNative.mm به صورت زیر می توان به توابع مورد نیاز دسترسی داشت .

فایل CallNative.h شامل :

 

class callNative{
public:
static void objectiveC_call();
};

و فایل callNative.mm  به صورت زیر خواهد بود.

void callNative::objectiveC_call()
{
//your objective c code here
    NSLog(@"Hello World");
}

و بعد کافی است که در فایل ++C فایل callNative.h را به صورت معمولی فراخوانی و از آن استفاده کرد

#include"callNative.h"

و جهت فراخوانی تابعی که استفاده کرده بودیم به صورت زیر عمل کنیم 

void HelloWorld::obCCalling()
{
   //calling objective c code
   callNative::objectiveC_call();
}

 

  • موافقین ۴ مخالفین ۰
  • دوشنبه, ۲۳ آذر ۱۳۹۴، ۱۰:۴۵ ب.ظ
به اشتراک می گذارم : به اشتراک بگذاریم به اشتراک بگذاریم به اشتراک بگذاریم به اشتراک بگذاریم