iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
サンプル・コードの構成を説明すると、macOSアプリケーションにEmbedded Frameworkを組み込んで確認を行った。
Embedded Frameworkに以下の内容のクラスを追加する。
public class QuickDraw: NSObject {
@objc public func dbgmsg() {
print("QuickDraw")
}
}
アプリケーション側のObjective-Cコードから呼び出す例は以下となる。
@import Toolbox;
@implementation Exam
- (void)dbgmsg
{
NSLog(@"%s", __func__);
QuickDraw *qd = [QuickDraw new];
[qd dbgmsg];
}
@end
Swiftコードから呼び出す例は以下となる。
import Toolbox
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
let exam = Exam()
exam.dbgmsg()
let qd = QuickDraw()
qd.dbgmsg()
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}
Frameworkはモジュールということになるので、モジュール内で定義したクラスを外部からアクセスするためには、openまたはpublicで宣言されている必要がある。
Frameworkのクラスは、Objective-CでもSwiftでも、モジュールをimportするだけでアクセスできた。