在Swift2.0中,NSError符合ErrorType协议(protocol)。对于自定义错误,我们可以为某些情况指定关联对象,如下所示。enumLifeError:ErrorType{caseBeBorncaseLostJob(job:String)caseGetCaughtByWife(wife:String)...}我们可以轻松地做到以下几点:do{tryhaveAffairWith(otherPerson)}catchLifeError.GetCaughtByWife(letwife){...}但是,如果我们希望它作为NSError传递到其他地方,它会丢失其关联对象信息。p