Swift

Swift:一貫性の問題

一貫性がないと単純で美しいものに近づかないようですね。

Photoライブラリの写真は常にコピーしないとメタ情報の編集ができないことは前述した通りです。それ以外のフォルダのものは直接編集可能なので、コピーする場合は同じフォルダに作ってもいいだろうと考えたのですが、安易でした。一貫性がないと、単純で美しいものには近づきませんでした。

何と言っても、単にロジックが複雑になるだけでなく、使い勝手も悪いでした。

汎用性が高くなる代わりに、ロジックが複雑、使い勝手も悪いでは話にならないので、Photoライブラリと一般フォルダの写真の扱いを統一することにしました。

また、コピーモードが選択されているとき、オリジナルの写真のクリックで修正済みのメタ情報をもつ写真が自動的に表示されれば、オリジナル写真を直接編集するダイレクトモードのときと同じようにシームレスな編集・修正が可能になります。オリジナルか、コピーか意識しないですむからです。

難があるとすれば、フォルダ単位でしかファイルの重複が保証されないことです。この回避方法は、コピー先のフォルダ管理をオリジナル写真のものにあわせれば解決できます。しかし、現時点で、オリジナル写真のbase folderを捨てて、それに続くフォルダをコピー先の管理フォルダの下に作ればいいことはわかっていても、消しこみと探し出すことを考えると好ましくないので、この機能は実装しないことにしました。

Swiftはコードが読みやすいので、修正の都度、できるだけコードレビューをしています。データ構造を変えて単純化できるところは、危険を顧みず修正しています。時々、破綻します。そんなとき、Xcodeが落ちてしまえば、undoができなくなるので泣き状態になってしまいます。これがまた、backupがないケースと重なることも多いです。

あとは辞書の削除もしくはリセットとアイコンのふたつが残課題になります。

Categories: Swift, 技術