2

Objective C 実装ファイル ( MyVC.m)に次のものがあるとします。

@interface MyVC ()
  @property (nonatomic, weak) IBOutlet UILabel *titlelabel;
@end

このプライベート プロパティを Swift (テスト) コードに公開するにはどうすればよいですか? 次の場合、コンパイラ エラーが発生します。

extension LTConversationSelectionVC {
   @IBOutlet weak var assetBar: LTAssetBar?
}
4

3 に答える 3

2

残念ながら、Swift だけでこれを行う方法はありません。ただし、テスト ターゲットの Objective-C ファイルでプロパティを公開し、それをテスト ターゲットのブリッジング ヘッダーに入れることができます。

MyVC+Tests.hをテスト ターゲットに追加します。

@interface MyVC (Tests)
  @property (nonatomic, weak) IBOutlet UILabel *titlelabel;
@end

MyAppTests-Bridging-Header.h

#import "MyVC+Tests.h"

次に、テスト ターゲットの Swift コードで、titleLabel期待どおりにプロパティを使用できます。

let vc = MyVC()
vc.titleLabel.text = "Hello, world!"
于 2016-01-28T20:31:39.843 に答える