はじめに Xcodeのバージョンも 8になり、社内プロジェクトの方も Swift3化を進めているのですが、色々とトラブっています。特に困っているのが Objective-Cと Swiftが混在する環境でのエラーオブジェクト(NSError、Error)の扱いです。 時間がなくてちゃんと体系的にまとめきれていないのですが、自分自身の問題整理と覚書も兼ねて、現状でわかっていることをまとめてみました。 SwiftのErrorと、Objective-Cの NSError 少し前提を話します。 まず、Swiftの世界ではエラーは Error という抽象的な型(プロトコル)で扱います。このプロトコルは Swift2までは ErrorTypeという名前でしたが、Swift3で Error に名称が変更されました。より一般的な名前が与えられたということですので、役割が昇格したと言えます。 一方、Objec