You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Swift从Parse中获取自动生成的createdAt和updatedAt字段?

解决Parse查询无法获取createdAt和updatedAt字段的问题

我之前在使用Parse做数据查询时也碰到过一模一样的情况——其他自定义字段都能正常拿到,唯独自动生成的createdAt和updatedAt死活看不到,给你几个亲测有效的排查和解决方向:

  • 检查自定义Parse子类的字段声明
    如果你是用自定义的Parse子类来映射数据,一定要显式声明createdAt和updatedAt字段,不然Parse不会把这两个字段注入到你的对象里。举个iOS Swift的例子:

    class Post: ParseObject {
        // 自定义字段
        @NSManaged var content: String?
        // 必须显式声明才能访问这两个自动字段
        @NSManaged var createdAt: Date?
        @NSManaged var updatedAt: Date?
    }
    

    Android或者JS的思路类似:比如JS里继承Parse.Object的子类不用额外声明,但要确保没有覆盖这两个属性的getter方法。

  • 排查查询语句的字段过滤设置
    如果你在查询时用到了selectKeys()(指定只返回某些字段),一定要把createdAt和updatedAt加进去,不然Parse服务器不会返回这两个字段。比如JS里的写法:

    const query = new Parse.Query('Post');
    query.select('content', 'createdAt', 'updatedAt'); // 必须包含自动字段
    

    另外也要检查有没有不小心用excludeKeys()把这两个字段排除了,这种低级错误很容易犯。

  • 确认对象打印/序列化的逻辑
    有时候不是拿不到这两个字段,而是你的打印或者序列化方法没把它们包含进去。比如如果自定义了对象的toString()或者description方法,要手动把createdAt和updatedAt加进去;如果是转JSON,有些框架可能会过滤掉Parse自动生成的字段,这时候可以手动提取验证:

    const post = await query.first();
    // 手动获取并打印
    console.log('Created at:', post.createdAt);
    console.log('Updated at:', post.updatedAt);
    
  • 验证数据本身的正确性
    最后可以去Parse Dashboard里直接查看这条数据,确认createdAt和updatedAt字段确实有值,排除是数据本身缺失的情况。

内容的提问来源于stack exchange,提问作者Ali Alzahrani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 12:58:13