在我的应用程序中,我有一个记录类型 (UserActivity),它只存储用户想要保存到他们的个人资料中的图像。此记录类型仅包含一个属性 - 对另一个记录类型(例如,RecordTypeA)的 CKReference。它完美地工作......我能够通过引用存储和检索数据以构建图像并在屏幕上适当地显示它。但是,我刚刚意识到我需要向 UserActivity 记录类型添加第二个属性,这将是对不同记录类型(称为 RecordTypeB)的 CKReference。记录类型 B 是需要单独识别的第二种图像。因此,UserActivity 中的每一行现在将有 2 个可能的 CKReferences 中的 1 个,但不是两者都有。
我可以毫无问题地保存新的 RecordTypeB 引用,但结果有几个问题。首先,当我保存它时,无论是通过代码还是 CKDashboard,记录现在将标题显示为“No Name”,因为 RecordTypeA 的属性没有任何内容。最初,记录名称将是 ref:followed-by-recordid。如果 UA 记录具有对 RecordTypeA 的引用,则它的工作方式与最初一样。那么有没有办法让它只为 RecordTypeB 参考创建记录名称?既然我有第二个属性,是否有可能将其更改为 CKReference 列表?其次,更重要的是,当我检索 UserActivity 记录时,如何判断给定记录是否包含对 RecordTypeA 或 RecordTypeB 的引用?有没有类似于 isKindOfClass 方法的方法?在这种情况下,该方法只是显示它是一个 CKReference,而不是它所引用的记录类型。如果 CKReference List 是合适的解决方案,也许第二个问题会自动解决?提前感谢您的指导!