私は多くの質問と回答を見てきましたが、私の状況をカバーしたり解決したりしていないようです。目的-cからswift 4クラスのプロパティにアクセスできない
私は元々Objcで書かれたプロジェクトを持っていますが、今では1つ1つ、すべてのクラスをSwift 4の構文に置き換えています。
私の問題は、Objective Cファイルの迅速なプロパティにアクセスできないということです。
これは私がこれまで持っているものです。
私は次のように起動しMessagesViewController.swiftと呼ばれるこの1つのSWIFTファイル、持っている:にObjCクラス「MessagesBoxController」がある中で、次に
@objc class MessagesViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
@objc var mailboxNumber:NSNumber = 0
...
をすなわちprepareForSegue方法でmailboxNumberにアクセスする必要がある:
したがって、MessagesBoxController.h Iにおいて生成されたインタフェースヘッダをインポート:
#import "myProduct-Swift.h"
とMessagesBoxController.mに私はこの定型方式いる:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
MessagesViewController *destViewController = segue.destinationViewController;
NSIndexPath *selectedIndexPath = [_tv indexPathForSelectedRow];
destViewController.mailboxNumber =selectedIndexPath.row+1;
}
ので、スウィフトクラス "MessagesViewControllerは" 細かい認識されています。コンパイラによる何の苦情もありません。公開されていないものの、そのプロパティ:
自動補完はmailboxNumberを示唆していないと、プロジェクトをビルドすると、I「はエラー
は「プロパティ 『mailboxNumber』タイプ のオブジェクトに見つからないMessagesViewControllerを取得* '"
この作品をお探しですか?
SwiftからObjective-CにInt&Boolにアクセスする際に問題に直面しています。このエラーが発生します:* Objective-C *で任意のsuggetionを表すことができないためプロパティに@objcを付けることはできませんか?私は同じヘッダ "MyProject-Swift.h"を使用しています。 –