With quick extensions it's easy:
extension NSError { func addItemsToUserInfo(newUserInfo: Dictionary<String, String>) -> NSError { var currentUserInfo = userInfo newUserInfo.forEach { (key, value) in currentUserInfo[key] = value } return NSError(domain: domain, code: code, userInfo: currentUserInfo) } }
using:
var yourError = NSError(domain: "com.app.your", code: 999, userInfo: nil) yourError = yourError.addItemsToUserInfo(["key1":"value1","key2":"value2"])
source share