首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在xcode7上收到一个错误swift。

我在xcode7上收到一个错误swift。
EN

Stack Overflow用户
提问于 2016-01-12 16:38:37
回答 2查看 201关注 0票数 0

该错误告诉我“‘?’:‘表达式中的结果值具有不匹配的类型’NSJONWritingOptions‘和’_‘”。有人知道怎么解决这个问题吗?我在xcode6.3.1上写了这些代码,并且刚刚转换成了xcode7。虽然在xcode6上工作过……

代码语言:javascript
复制
public func toString(pretty:Bool=false)->String {
    switch _value {
    case is NSError: return "\(_value)"
    case is NSNull: return "null"
    case let o as NSNumber:
        switch String.fromCString(o.objCType)! {
        case "c", "C":
            return o.boolValue.description
        case "q", "l", "i", "s":
            return o.longLongValue.description
        case "Q", "L", "I", "S":
            return o.unsignedLongLongValue.description
        default:
            switch o.doubleValue {
            case 0.0/0.0:   return "0.0/0.0"    // NaN
            case -1.0/0.0:  return "-1.0/0.0"   // -infinity
            case +1.0/0.0:  return "+1.0/0.0"   //  infinity
            default:
                return o.doubleValue.description
            }
        }
    case let o as NSString:
        return o.debugDescription
    default:
        let opts = pretty
           //below is the code I got an error for
            ? NSJSONWritingOptions.PrettyPrinted : nil
        if let data = (try? NSJSONSerialization.dataWithJSONObject(
            _value, options:opts)) as NSData? {
                if let result = NSString(
                    data:data, encoding:NSUTF8StringEncoding
                    ) as? String {
                        return result
                }
        }
        return "YOU ARE NOT SUPPOSED TO SEE THIS!"
    }
}
EN

回答 2

Stack Overflow用户

发布于 2016-01-12 16:49:48

如果你不想指定任何选项,NSJSONSerialization.dataWithJSONObject:options:中的options应该是一个空数组。因此,您的代码应该如下所示:

代码语言:javascript
复制
let opts = pretty ? NSJSONWritingOptions.PrettyPrinted : []

之前它期望的是nil,但在Swift中映射iOS SDK的方式发生了变化。

票数 1
EN

Stack Overflow用户

发布于 2016-01-12 16:51:31

我在我的Swift 2.0实现中使用了这个-

代码语言:javascript
复制
let options = prettyPrinted ? 
         NSJSONWritingOptions.PrettyPrinted : NSJSONWritingOptions(rawValue: 0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34738929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档