ios - Kinvey 3.3.5 SDK 按 ID 查询

标签 ios swift sdk kinvey

我目前正在使用最新的 Kinvey SDK(版本 3.3.5)将 swift 2.3 迁移到 3。自 1x 版本以来,他们已经进行了大量更新。我的问题是有人能够成功查询 PersistableKeyID 字段并提取多个对象吗?

我过去能够使用“loadObjects”函数,该函数将字符串数组作为参数。此函数已被弃用并被 find(byId) 取代。见下文:

dataStore.find(byId: "only takes one") { uClass, error in
if let uClass = uClass {
    //succeed
    print("UClass: \(uClass)")
} else {
    //fail
} 

问题是,它只接受单个字符串作为参数。我尝试使用查询功能,但无法让它将“_id”字段作为参数。使用以下代码:

 //Just statically creating the sectionID array for now.  This will dynamically be created
    testIDs = ["58668307206c11177e5ab0d4", "58668307206c11177e5ab0d4", "57ad00a505a2bb55632659c3"]

    let sectionStore = DataStore<Section>.collection()

    let sectionQuery = Query(format: "_id IN %@", testIDs)

    sectionStore.find(sectionQuery) {sectionResult, error in
        if let sectionResult = sectionResult {
            self.sectionsTest = sectionResult

            self.sectionCollectionView.reloadData()

        } else{
            //Error
        }

    }

我收到错误:

'Invalid property name', reason: 'Property '_id' not found in object of type 'Section'

既然“loadObjects”已经被贬值,有人知道如何执行此操作吗?我找不到传递的“find(byIds)”。

最佳答案

Jbone107,

我能够通过此获得结果,请告诉我以下内容是否适合您。

    let id:[String] = ["5855026650a816ec29012908","5855024a21400c5b492bea20"]

    let query = Query(format: "_id IN %@", id)

    dataStore.find(query) { data, error in
        if let data = data {
            //succeed
             print(“Data: \(data)")

        } else {
            //fail
            print("fetching failed")
        }
    }

谢谢, 普拉纳夫, 金维

关于ios - Kinvey 3.3.5 SDK 按 ID 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41352834/

相关文章:

android - 如何使用 Facebook SDK 仅共享文本

ios - 如何在 iOS 中使用 Swift 正确检索加速度计数据?

iOS HTTPS SSL 证书

ios - 修饰 UIButton 时进度 View 停止

ios - 是否可以使用AVfoundation在我自己的应用程序中使用Apple的付款成功声音效果?

swift - 在下面的特定示例中,我将如何创建一个函数来删除重复代码?

python - 如何在 swarm 上下文中使用 docker python SDK?

cocoa - 有没有办法在 10.6 机器上获取/使用 OS X 10.3 Cocoa SDK?

ios - 在Swift中的通用类中切换通用类型

ios - 如何从可重用的标题按钮调用 collectionView.reloadData()?