Objective-C
Swift
Xcode6

SwiftからObjective-Cのライブラリを使ってみる

More than 3 years have passed since last update.

よさ気なSwiftをこれから使ってみたいけど、今あるライブラリとかも使えないと困るってことで試してみました。

詳しくはAppleのドキュメントに書いてあります。

https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/Migration.html

とりあえず試しにMRProgressをCocoaPodsでインストールして使います。

platform :ios, '7.0'

pod 'MRProgress'

次にSwiftからObjective-Cのコードを呼び出すたびに、Objective-CのヘッダーをXCodeに指定します。

複数の指定とか面倒なので、objc-header.hというファイルを作り、その中で利用するライブラリのヘッダーファイルをimportします。


objc-headers.h

#import "MRProgress.h"


次にXcodeのターゲットアプリケーションのBuild Settingsで"Objective-C Bridging Header"に先ほどのobjc-header.hを指定してやります。

これでSwiftのコードから使用するライブラリを呼ぶことが出来ます。

MRProgressならこんな感じです。


ViewController.swift

MRProgressOverlayView.showOverlayAddedTo(self.view, animated: true);


スクリーンショット 2014-06-03 13.40.43.png

ちゃんとプログレスが出てますね!

ドキュメントよく読まずに試してたので、やりかた間違ってるかもしれないのであしからず。