csharp 团结から斯威夫特を実行するサンプル

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 团结から斯威夫特を実行するサンプル相关的知识,希望对你有一定的参考价值。

#import <Foundation/Foundation.h>
// ここのimport名は`プロジェクト名-swift.h`
// BuildSettings -> Swift Compiler-General -> Objective-C Bridging Headerで確認可能
// Unityでビルドした場合、BundleIdentifierのトッドで区切った最後の要素名になる
// info.shibuya24.nativePluginであれば`nativePlugin`となる
// この名前に`-Swift.h`を加えた名前がimport名
#import "nativePlugin-Swift.h"

extern "C"
{
  void CallSwift_()
  {
    // swiftを実行
    // ※Objective-Cの書式で呼び出す必要あり
    TestSwift *sw = [[TestSwift alloc] init];
    NSLog([sw CallSwift]);
  }
}
import Foundation
// Unityで扱う場合はNSObjectを継承する必要がある
public class TestSwift : NSObject
{
  public func CallSwift()->String
  {
    return "HelloWorld"
  }
}
//このHeaderファイルが無いとダメ
using System.Runtime.InteropServices;

public class UnityToSwift
{
  #if !UNITY_EDITOR
  [DllImport("__Internal")]
  static extern void CallSwift_ ();
  #endif

  public static void CallSwift ()
  {
    #if !UNITY_EDITOR
    CallSwift_ ();
    #endif
  }
}

以上是关于csharp 团结から斯威夫特を実行するサンプル的主要内容,如果未能解决你的问题,请参考以下文章