私はクラスMyClass
をサブクラスNSObject
から持っています。これはObjective-Cで書かれています。Swiftからobjective-Cクラスのプロパティを設定する
@implementation MyClass
// Initializer and other stuff
// ...
- (void) setIsBypassEnabled: (BOOL) newValue
{
_value = newValue;
}
- (BOOL) getIsBypassEnabled
{
return _value;
}
@end
しかし、私はスウィフトからプロパティを設定しようとするように:
@interface MyClass : NSObject
@property (getter = getIsBypassEnabled, setter = setIsBypassEnabled:) BOOL isBypassEnabled;
@end
そして、これらの機能の両方を実装で定義されています。これは、カスタムのゲッターとセッターを持つプロパティを持ってい
let objcClass = MyClass()
objcClass.isBypassEnabled = true
エラー'isBypassEnabled' has been renamed to 'getIsBypassEnabled'
が返されます。しかし、私は値を設定する必要があります、それを取得しないでください!
objcClass.setIsBypassEnabled(true)
をしようと
は私に私のクラスは、そのようなメンバーを持っていないエラーが発生します。
.hファイルに
- (BOOL) getIsBypassEnabled;
- (void) setIsBypassEnabled: (BOOL) newValue;
明示的に宣言すると、いずれか助けていません。
この問題を解決するにはどうすればよいですか?ありがとうございました。
プロパティとゲッターが一致しないため、実際の状況はまったく意味がありません。プロパティとゲッターはデフォルトで同じ名前しか持たないためです。問題はなく、修復されます。もう一度Swiftの次のリリースでコードを変更する必要があります。 –