0
私はチュートリアルhttps://github.com/fastred/CustomScrollViewをObjective-CからSwiftに変換しようとしていましたが、私はいくつかの場所で立ち往生しています。 Objective-CでifステートメントのNon Bool/SwiftのObj-Cクロージャ
それは性質があります。
@property (nonatomic, weak) UIDynamicItemBehavior *decelerationBehavior;
@property (nonatomic, weak) UIAttachmentBehavior *springBehavior;
をし、それが文の場合があります。
if self.decelerationBehavior && !self.springBehavior { ... }
これらは明らかに全くBool
年代ではないので、これはスウィフトに何を意味しています?
void(^solveForY)(CGPoint*) = ^(CGPoint *anchor) {
if (deltaY != 0) {
anchor->y = a * anchor->x + b;
}
};
この1つは閉鎖のようだと私は使用してスウィフトに変換しようとしました:
func solveForY(_ anchor: inout CGPoint) { if deltaY != 0 { anchor.y = a * anchor.x + b } }
__weak typeof(self)weakSelf = self;
decelerationBehavior.action = ^{
CGRect bounds = weakSelf.bounds;
bounds.origin = weakSelf.dynamicItem.center;
weakSelf.bounds = bounds;
};
しかし、変換されたアプリは、」doesnの元のように動作しません。これをSwiftに変換する方法を教えてもらえますか?私が正しく、すべてのことを解釈していた場合
どうもありがとう、私はいくつかの皆さんはにObjC-Cエイリアンの言語を呼び出す理由を理解し始めています..: o。もう少し小さなクロージャを追加しました。私はちょうどアプリケーションを変換し、それを動作させるように見えることができない...非常にイライラしている:( –
ハハスウィフトは非常に異なっているが、Obj-Cは他のCベースの言語にかなり類似しているシンタックス。答えに他のクロージャを追加しました。 – PeejWeej
もう一度Txを実行してください。おそらくSwiftで動くようになる方法を理解するのに時間がかかります:) –