LoginSignup
0
0

More than 5 years have passed since last update.

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

Posted at

サンプル・コードの構成を説明すると、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練習帳

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0