iOS
macos
Swift
bukuroswift
cocoastudy

[macOS][iOS]SwiftでFrameworkを実装する

More than 1 year has passed since last update.

サンプル・コードの構成を説明すると、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するだけでアクセスできた。

ソースコード

GitHubからどうぞ。


https://github.com/murakami/workbook/tree/master/mac/Bedrock - GitHub

【関連情報】

BUKURO.swift


Cocoa勉強会 関東


MOSA


Cocoa練習帳