类的解析列值总是为零

时间:2015-11-18 05:23:59

标签: ios swift parse-platform

使用查询获取对象时,仅获取某些列,其余列为nil。我也试过fetchIfNeededInBackgroundWithBlock,但没有运气。

查询:

let query = PFQuery(className:"Order")
query.whereKey("buyerUser", equalTo: PFUser.currentUser()!)
query.findObjectsInBackgroundWithBlock { (orders: [PFObject]?, error: NSError?) -> Void in
    if(error == nil){
        print(orders?.first)
    }
}

输出:

Optional(<Order: 0x7ff778011940, objectId: KytyBZD9zV, localId: (null)> {
buyerUser = "<PFUser: 0x7ff77353e520, objectId: xxxxx, localId: (null)>";
charged = 1;
fulfilled = 0;
item = "<Item: 0x7ff778011dd0, objectId: GN277W4mO0, localId: (null)>";
shippingUser = "<PFUser: 0x7ff778012270, objectId: xxxx, localId: (null)>";
stripePaymentId = "xxxxxx";})
解析数据浏览器中的

Order

Order Class

如果我尝试使用以下代码访问transactionId

let order = orders?.first
print(order.objectForKey("transactionId"))

结果始终为nil

请帮忙。

更新

附件是Parse中的Order类数据。由于所有行都有数据,而我使用的对象已经在其他列(buyerUser,charge)中返回了一些数据,因此对象的transactionId列中有数据。

Parse Order Class Data

1 个答案:

答案 0 :(得分:4)

我看不到&#34; transactionId&#34;在您发布的控制台消息中 - 如果您要查找的密钥不存在,则返回nil

  

charge = 1;履行= 0; item =&#34;&#34 ;; shippingUser =&#34;&#34 ;; stripePaymentId =   &#34; XXXXXX&#34 ;;})

更新: 控制台中的服务器信息和消息不匹配 eq:顺序:0x7fb253fedc80,objectId:WrgiDFxZW6,它不能位于附带问题的服务器数据中。

如果您在Parse SDK中引用不同的表而不是在Web中使用的表(屏幕截图),则可能会发生这种情况 - 确保您在代码和Web中裁判相同的表。