当前位置: 首页 > 面试题库 >

解析和Swift 1.2问题

申屠宏胜
2023-03-14
问题内容

这段代码在Swift 1.1中运行良好…只是试图找出1.2中所做的更改以使其不兼容:

@IBAction func load_click(sender: AnyObject) {

    var query = PFQuery(className: "myClass")
    query.getObjectInBackgroundWithId("MPSVivtvJR", block: { (object:PFObject!, error: NSError) -> Void in

        let theName = object["name"] as String
        let theAge = object["age"] as Int?

        println(theName)
        println(theAge)

    })
}

它给了我错误: 无法使用类型为’(String,block:(PFObject !, NSError)- >
Void)的参数列表调用’GetObjectInBackgroundWithId’

有任何想法吗?谢谢!


问题答案:

现在,使用Swift 1.2时,您应该更加谨慎地展开可选项。因此,在具有PFObject和的闭包中NSError,删除感叹号或添加问号使其成为可选。

然后,更安全地解开对象。尝试如下:

// You can create this in a separate file where you save your models

struct myUser {
    let name: String?
    let age: Int?
}

// Now this in the view controller

@IBAction func load_click(sender: AnyObject) {
    var query = PFQuery(className: "myClass")
    query.getObjectInBackgroundWithId("MPSVivtvJR", block: {
        (object:PFObject!, error: NSError?) -> Void in

        if let thisName = object["name"] as? String{
            if let thisAge = object["age"] as? Int{
                let user = myUser(name: thisName, age: thisAge)
                println(user)
            }
        }

    })
}


 类似资料:
  • 问题内容: 我正在尝试在我的android应用程序中解析Json的链接是https://www.buzzador.com/apps/present_software/webservice/index.php?op=ProductQ&campaign_id=607&userid=10776 当我将其放入Json对象时,它给我带来错误错误是:08-31 14:40:52.281:WARN / Syst

  • 我正在编写c头样式文件的解析器,并面临正确的行注释处理问题。 CustomLexer。g4级 CustomParser。g4: 它可以很好地处理我在头文件中的95%的指令和评论,但很少有场景仍然没有得到正确处理: 1.行注释 输入: 这是令牌列表: 我想实现第07行的令牌是第09行令牌的一部分,并解析为COMMENT\u START令牌 2、用文本定义指令 其他定义规则正常工作,但: 这些“定义”

  • 我花了相当多的时间阅读GraphQL教程,但不幸的是,它们似乎没有涵盖足够的深度,我无法理解。我真的很感谢你对这个现实世界的例子的帮助。 在示例中,查询位于解析器对象的根;我可以让它在单级查询中正常工作。但是,当我尝试解析嵌套查询时,嵌套解析程序从未被调用。让我非常困惑的是,我发现graphql网站上没有发布的每一个教程都放在一个查询对象中,并将它们的查询嵌套在下面,而不是根级别。 考虑以下模式:

  • val homeFeed=gson.fromjson(正文,列表::class.java) 我的代码:

  • 我正在使用Jsoup解析短html文档,该文档包含对结果进行某些逻辑操作所需的一些自定义标记 这样地: 在这种情况下,内部内容似乎丢失了,outerHtml()方法显示如下: 但是如果“show if”标签包含一个简单的文本,比如你好,它就会像预期的那样工作。 有什么想法吗?谢谢你。

  • 问题内容: 我正在使用CURL发送请求。响应数据类型为。如何解析这些数据并将其插入数据库? JSON输出: 问题答案: 如果您的变量是字符串json之类的,则必须使用function将其解析为 对象 或 数组 : 输出值 现在您可以将变量作为数组使用: 参考文献: json_decode -PHP手册