本地化失败原因返回 null
Posted
技术标签:
【中文标题】本地化失败原因返回 null【英文标题】:localizedFailureReason returns null 【发布时间】:2015-03-17 12:47:07 【问题描述】:出于某种原因,我需要显示错误本地化失败原因。我收到 NSError
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Unexpected end of file while parsing object.) UserInfo=0x178a72b80 NSDebugDescription=Unexpected end of file while parsing object.
当我尝试登录时
[error localizedFailureReason]
为此我得到了空值。我可以知道是什么原因造成的吗?我只是得到
The operation couldn’t be completed. (Cocoa error 3840.)
为
[error localizedDescription] only
下面是我完整的方法代码:
+(NSDictionary *)insertErrorIntoFormat:(NSError*)error
NSLog(@"1.%@",[error localizedDescription]);
NSLog(@"2.%@",[error description]);
NSLog(@"3.%@",[self getCurrentDateTimeString]);
NSDictionary *threat = [NSDictionary dictionaryWithObjectsAndKeys:
[self getCurrentDateTimeString], kTimestamp,
[error localizedDescription], @"logs",
[error localizedFailureReason], @"reason",
nil];
return threat;
【问题讨论】:
【参考方案1】:NSError 不需要有失败原因字符串。返回nil
是完全有效的。您需要在将返回值添加到 NSDictionary 或 NSArray 之前检查返回值,因为这些数据结构不能包含 nil 值。
【讨论】:
以上是关于本地化失败原因返回 null的主要内容,如果未能解决你的问题,请参考以下文章
ios 调用writeToFile将图片保存到本地一直失败的解决方案
SQL Server 复制本地订阅属性返回“无法将值‘null’应用于属性 ServerInstance:值不能为空。”