在最近更新 swift编译器更新之前,此代码工作正常.我已经纠正了所有明显的错误,但由于某些原因,当我运行应用程序时,它在for循环中崩溃时尝试将[AnyObject]强制转换为我的自定义Memory类.

日志和错误显示如下:

Has connectivity
Successfully retrieved 8 memories.
current memory: <Memories: 0x170120960,objectId: AO3EvPFob4,localId: (null)> {
ACL = "<PFACL: 0x174047e30>";
Date = "3915-04-08 05:00:00 +0000";
Guests = 4;
Title = test4;
}
Could not cast value of type 'PFObject' (0x100130bc0) to 'MemoryVault.Memory' (0x10012fa00).

所以我知道我正在从Parse中检索到8个正确的记忆,而且当前的记忆是正确的……它只是不会施放它.

代码:

if (NetworkValidator.hasConnectivity()){ // Has internet connectivity
        println("Has connectivity")
        Memory.memoryQuery().findobjectsInBackgroundWithBlock{
            (objects: [AnyObject]?,error: NSError?) -> Void in
            if error == nil {
                // The find succeeded.
                 println("Successfully retrieved \(objects!.count) memories.")

                Memory.unpinAllInBackground(self.memories,block: {
                    (success: Bool,error: NSError?) -> Void in

                    // Clear current list
                    self.memories = [Memory]()

                    // Do something with the found objects
                    for memory in objects! {
                        println("current memory: \(memory)")
                        let currentMemory: Memory = memory as! Memory

                        // Save to localDataStore
                        currentMemory.pinInBackground()
                        println("\(currentMemory.memoryTitle) from Parse")

                        // Append to current
                        self.memories.append(currentMemory)
                    }
                })

                // Notify tableView to reload data
                self.memoriesTableView.reloadData()
            } else {

                // Log details of the failure
                println("Error: \(error!) \(error!.userInfo)")
            }

        }
    }
这个让我忙碌几个小时 – Parse-Documentation提到:

Strongly-typed subclasses of PFObject must conform to the PFSubclassing protocol and must call before [Parse setApplicationId:clientKey:] is called.”

通过在AppDelegate中调用MyParseClass.registerSubclass(),我解决了我的问题!

swift – PFObject无法转换为自定义子类的更多相关文章

  1. ios – 使用SQLite和CoreData进行批量插入

    我有一个使用sqlite作为持久性存储的CoreData模型.在对每条记录进行一些处理之后,我需要插入大量的行.有没有办法将这些命令发送到sqlite我需要加快处理时间,因为它需要几个小时才能完成.任何提示将不胜感激.谢谢解决方法将商店添加到商店协调员时,可以指定编译指示:(改编自PersistentStoreFeatures)我强烈建议您阅读“有效导入数据”.相关文档:NSSQLitePragm

  2. 如何在Xcode 8中启用Visual Memory Debugger?

    我将项目从以前版本的Xcode迁移到Xcode8.我想要的是使用新的可视化内存调试器.它可用于新项目,但在我导入的项目中完全缺少.为什么是这样?

  3. 使用iOS上的Memory Monitor,虚拟内存消耗与实际内存之间的差异

    有人说你不应该使用超过100MB.那是真正的记忆,还是虚拟记忆…或者可能是某种组合?我的实际内存一直在20到25MB之间,但崩溃时虚拟内存大约为190–205MB.这是一个截图:有人能够对此有所了解吗?

  4. swift – PFObject无法转换为自定义子类

    在最近更新swift编译器更新之前,此代码工作正常.我已经纠正了所有明显的错误,但由于某些原因,当我运行应用程序时,它在for循环中崩溃时尝试将[AnyObject]强制转换为我的自定义Memory类.日志和错误显示如下:所以我知道我正在从Parse中检索到8个正确的记忆,而且当前的记忆是正确的……

  5. android – 为什么Memory Profiler中的“Code”和“Native”部分使用了太多的内存,我该如何减少它?

    当用户第一次打开它时,我的应用程序使用75MB内存.我使用AndroidStudio中的AndroidProfiler工具来检查我的Android应用程序的内存使用情况.当主屏幕打开时,应用程序开始使用75MB内存,即使主活动没有创建任何需要太多内存的对象.没有位图或任何大数组等.40MB来自“代码”部分,19MB来自“本机”,我们不在此活动中加载任何本机库.我们在用户打开另一个Activity之

  6. React内存使用情况部署到Heroku

    我最近完成了一个MERN堆栈web应用程序,并试图将其部署到Heroku上。它看起来像是已部署的,但当我尝试登录或创建用户时,它显示404未找到/grapql。当运行heroku日志-tails时,它在发布后表示,应用程序由于内存使用超过配额而崩溃。所以我在本地运行它,并使用DevTools查看内存使用情况。我目前正在尝试重构搜索到的内容,并使用react.llazy只显示用户的观点。

  7. ubuntu – xen:balloon:reserve_additional_memory:add_memory()失败:-17

    我们在EC2虚拟机上运行Ubuntu14.04.我在内核日志中看到了很多这些错误:我们显然没有在我们的虚拟机中运行Xen,因此这些必须表明与主机的内存分配有关.我不相信这会对我们造成任何直接的问题,但我们应该关注它吗?

  8. php – Symfony安全基本身份验证

    你的缩进不好access_control密钥不能保留在防火墙节点下您应该按如下方式修改security.yml

  9. php – 致命错误:在WP中添加帖子时内存不足

    我得到这个讨厌的错误致命错误:内存不足(分配18087936)(试图分配77824字节).奇怪的是,它是17,25mb(分配),它试图分配76kb.内存限制是128MB,你可以看到它甚至不甚接近.那时候,VPS已经达到了约四十万的自由公牛.它只发生在我发布的东西,而不是所有的时间.我觉得很奇怪,真的不知道可以造成什么.如果您需要任何其他信息,请告诉我们.内存限制为18M,而不是128M.这意味着m

  10. 如何在Dreamhost上设置memory_limit php 5.3

    tr…

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部