問題タブ [objc-bridging-header]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Swift 3 の値型で Objective-C カテゴリのプロパティ (関連参照) にアクセスする
Objective-C クラスの .h ファイルで、次のように NSIndexPath のカテゴリを作成しました。
そのクラスの .m ファイルでは、次のように実装しました。
ここで、IndexPath を使用して Swift 3 の NSIndexPath の subRow プロパティにアクセスすると、エラーが発生します。
タイプ 'IndexPath' の値にメンバー 'subRow' がありません
型キャストを使用してアクセスしようとしている場合
「subRow」値として常に「0」を返します。IndexPath が値型で NSIndexPath が参照型であるためかもしれません。
Objective-C を使用してカスタム デリゲートに UITableViewDelegate を実装し、それを Swift クラスに実装しましたが、カスタム デリゲート メソッドを実装している Swift では、この問題に直面しています。
また、カスタム デリゲートの実装 (Swift コード) で IndexPath の代わりに NSIndexPath を使用しようとしましたが、「タイプ YVViewController がプロトコルに準拠していません。候補には一致しないタイプがあります」というエラーが表示されました。
これが私のカスタムデリゲート宣言です:
Swift 2.x では問題なく動作しますが、Swift 3 に移行した後、この問題に直面しています。
objective-c - Obj-Cの非null関数はSwiftに何を返しますか?
ブリッジング ヘッダーを使用して Swift で使用できる目的の C ライブラリがあります。
私のパブリック メソッドの 1 つは、返すと注釈が付けられてnonnull
いますが、実際には、場合によっては nil を返すことがあります。
このメソッドを呼び出す Swift コードが「nil のオプション値をアンラップする」ためにクラッシュすることを期待していましたが、実際にはそうではありません。
目的 C:
スウィフト ヘッダー:
生成ヘッダーは次のようになります。
迅速な使用法:
po
戻り値を取得すると、この結果が得られます
どうして?
swift - Swift ビルドが長すぎます。おそらく、ビルド時にすべてのファイルにヘッダー ファイルが含まれているためです。
私のプロジェクトは、Amazon 商用サービスを使用しています。という名前のヘッダーファイルがありますCommonTypes.h
。このファイルは、約 130 の他のヘッダー ファイルをインポートします。Bridging-Header.h
私のアプリのファイルにはCommonTypes.h
、他のライブラリの横に含まれています。
アプリのビルド時に、swift ファイルのビルドに 5 ~ 7 秒ほど時間がかかりすぎることがわかりました。プロジェクトに 500 個の迅速なファイルが含まれていると仮定すると、再構築に約 50 分かかります。
プロジェクトのビルド時に表示されるログ:
すべてのファイルをビルドするときにこれらのヘッダーファイルをインポートするため、ビルダーには時間がかかると思います。
これらのライブラリを一度だけ強制的にビルドする方法を知っている人はいますか?
ios - iOS Swift プロジェクト、Objective-C ファイルがあり、Swift クラスを Objective-C ファイルにインポートしたい
私は Swift プロジェクトを持っており、いくつかの Objective C クラス ファイルをこの Swift プロジェクトに正常に追加し、ブリッジ ヘッダーを使用してプロジェクトで使用できるようにしました。
これらの Objective C クラスでは、Swift クラスをインポートしたいと考えています。これどうやってするの?
私はたくさん検索しましたが、これに対する答えはまだ見つかりません。回答されたほとんどの質問は、Objective-C クラスを Swift プロジェクトにインポートする方法、または Swift クラスを Objective-C プロジェクトにインポートする方法に関するものです。でも私の場合は違う
ios - iOS Swift プロジェクト、既に Objective-C ファイルをインポートしており、Swift クラスをこの Objective-C にインポートしたい
私はSwiftプロジェクトを持っており、ObjectiveClass.hなどのObjective CクラスファイルをこのSwiftプロジェクトに追加し、ブリッジヘッダーを使用してプロジェクトで使用できるようにしました。ObjectiveClass.h クラスで、Swift プロジェクトの Swift クラスをインポートします。これどうやってするの?
私はたくさん検索しましたが、これに対する答えはまだ見つかりません。回答されたほとんどの質問は、Objective-C クラスを Swift プロジェクトにインポートする方法、または Swift クラスを Objective-C プロジェクトにインポートする方法に関するものです。でも私の場合は違う