Swift中NSMutableData无法赋值NULL,如何返回空或判断为空?
Swift中NSMutableData错误状态的标识与空数据判断
一、直接返回nil标识错误
你的方法返回类型是NSMutableData?(可选类型),完全可以直接返回nil来表示错误状态,不需要初始化空的NSMutableData。这样调用方能更直观地区分“错误无数据”和“正常生成的空数据”两种情况。
修正后的代码示例:
func generateData(input: URL) -> NSMutableData? { if errorCondition { // 用nil明确标识错误状态 return nil } // 正常生成数据的逻辑 let data = NSMutableData() // ... 向data中添加内容的操作 return data }
二、判断已返回的NSMutableData是否为空
如果因为某些原因必须返回空的NSMutableData,可以通过length属性判断是否为空:
NSMutableData继承自NSData,length属性表示数据的字节数,等于0即为空数据。
判断示例:
let result = generateData(input: someURL) if let data = result { if data.length == 0 { // 处理空数据情况 } else { // 处理有效数据 } } else { // 处理错误状态(如果返回nil的话) }
内容的提问来源于stack exchange,提问作者techno
相关产品推荐
相关产品推荐

