日記
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' }