たのしい人生

2025-01-01から1年間の記事一覧

SceneKitのSCNMaterial.diffuse.contentsに設定した画像が容赦なくリークする

もうdeprecatedとなったSceneKit。今さら使う人もあまりいないと思うが、もし困っている人がいたら。ちなみにタイトルのとおり解決はしない。 let material = SCNMaterial() material.diffuse.contents = <なにがしかの画像形式(MTLTexture / UIImage 等)>…

OSAllocatedUnfairLockでOptionalなclosureを保護するとreabstraction thunk helperによってclosureの再帰呼び出しが無限ループになる問題

Sendable適合のためにclosureをOSAllocatedUnfairLockで保護することを考える。大体用途的にhandlerということでoptionalにしたい。 final class Po: Sendable { let handler: OSAllocatedUnfairLock<(@Sendable (Po.Result) -> ())?> = .init(initialState:…

`CAAnimation` で無限ループアニメーションを設定するときは `isRemovedOnCompletion = false` を設定しておかないとアニメーションにアクセス不能になる

let rotation = CABasicAnimation(keyPath: "transform.rotation") rotation.fromValue = 0.0 rotation.toValue = Double.pi * 2 rotation.duration = 1.0 rotation.repeatCount = .infinity rotation.timingFunction = CAMediaTimingFunction(name: .easeIn…

Amazon.co.jpアソシエイト