ぜのぜ

しりとりしようぜのぜのぜのぜ

317日目

日記

GW最高。有給取りやすい弊社最高。

今日書いたコード

XCTSkipでテストを飛ばせる。throwを使ってるのなるほどという感じ。

throw XCTSkip("テスト用にserviceUUIDsにnilを渡すようになっている")

キャプチャされたImplicitly Unwrapped Optionalな変数はOptionalとして扱われる。確かIUOな変数はまずOptionalとして扱われ、それだとつじつまが合わないときはForce unwrapされるという仕様があるのでそのためだと思う。そしてキャプチャリストでIUOであることは示せないのでクロージャの中ではOptionalな変数としてしか使えない。

class OtherClass {}
class SomeClass {
    var someIUO: OtherClass!

    func someFunc() {
        _ = { [unowned someIUO] in
            print(someIUO) // Expression implicitly coerced from 'OtherClass?' to 'Any'
        }
    }
}

こうするのがよさそう?今思いついたので修正は明日やる。

_ = { [someIUO = someIUO!] in
    print(someIUO) // Expression implicitly coerced from 'OtherClass?' to 'Any'
}

感想