ios - 映射解析对象在 callFunctionInBackground 中不起作用

标签 ios swift parse-platform subclassing

这是测试云代码的样子:

Parse.Cloud.define ( "getSpokey" , function (request , response ) {
var Spokey = Parse.Object.extend("Spokey");

var query = new Parse.Query(Spokey);

query.find({
    success: function(spokey){
        response.success(spokey);
    },
    error: function(spokey, error){
        response.error(error);
    }
});
});

在浏览器上测试这个函数时,这是我得到的返回:

{"result":[{"__type":"Object","className":"Spokey","createdAt":"2015-11-22T13:51:40.187Z","name":"kussa","objectId":"niCUOIFx3V","updatedAt":"2015-11-22T13:51:40.187Z"},{"__type":"Object","className":"Spokey","createdAt":"2015-11-22T13:51:44.592Z","name":"test","objectId":"yGm2hg2GRI","updatedAt":"2015-11-22T13:51:44.592Z"}]}

在 iOS 端,这是 swift 中的类代码

class SPKSpokey : PFObject, PFSubclassing {

var name : String!

override class func initialize() {
    struct Static {
        static var onceToken : dispatch_once_t = 0;
    }
    dispatch_once(&Static.onceToken) {
        self.registerSubclass()
    }
}

static func parseClassName() -> String {

    return "Spokey"
}
}

在 Controller 中我有以下代码:

PFCloud.callFunctionInBackground("getSpokey", withParameters: nil) { (result , error) -> Void in

        if let result = result as? [SPKSpokey]  {

            print(result)
            for sp in result {
                print(sp.name) //crashes here
            }
        }
    }

在我的应用委托(delegate)中,我有:

SPKSpokey.registerSubClass()

执行print(result)时控制台显示如下:

    [<Spokey: 0x7f8d70c7ef60, objectId: niCUOIFx3V, localId: (null)> {
name = kussa;
}, <Spokey: 0x7f8d70c80cf0, objectId: yGm2hg2GRI, localId: (null)> {

        name = test;
    }]

所以我的问题是:如何在不使用 objectForKey 的 PFObject

的情况下访问我的类属性,例如 sp.name

最佳答案

尝试改变:

var name : String!

到:

@NSManaged public var name: String!

关于ios - 映射解析对象在 callFunctionInBackground 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33856095/

相关文章:

android - 为 AFNetworking/Alamfire ios 添加拦截器

iOS - 重复符号 Google Core 和 Firebase 性能

ios - AFNetworking cocoapods 为 WatchOS 2 扩展构建失败

ios - 在iOS上解析云代码

android - SignalR 与 Google Cloud 消息传递与 Parse

ios - 如何通过父 View 管理文本标签高度

ios - 使用 spritekit 无法进行碰撞检测

swift - 将 Firebase 身份验证与 Firebase 数据库连接

swift - case 语句中 Unresolved 标识符错误

javascript - 如何在 Node.js 解析中使用 useMasterKey?