小编Jan*_*ker的帖子

使用CloudKit保持NSArray的顺序

我目前正在设计一个CloudKit基于同步的解决方案,我想知道最好的方法是保持列表(在我的情况下是一个数组)的云项(CKRecord对象)的顺序是一致的.

Apple建议不要保留对子对象的引用,而只是使用CKReference来自子对象的父对象引用父对象.如果您想根据其中一个属性(例如创建日期)查询项目,则可以正常工作,但如果您有一个由用户确定的订单则不行.

我提出了两种基于相同想法的不同方法:维护标识符清单以管理项目的位置.

1)同步具有标识符数组的额外记录(aka清单),每个标识符标识一个CKRecord对象(以及相应的本地模型对象).

2)创建一个父对象,该对象包含CKReference对其子对象的引用(对象)数组.此数组维护给定的顺序.

我觉得这不是解决这个问题的最好办法,我很高兴听到你的想法.

macos cocoa objective-c ios cloudkit

10
推荐指数
1
解决办法
811
查看次数

未在Mac上接收自定义记录区域的CloudKit推送通知

我已经设置了自定义区域订阅,以从我的自定义记录区域接收(静默)推送通知.我的iOS设备上的一切正常,但我无法在Mac上收到通知.

要注册通知我正在注册通知类型applicationDidFinishLaunching:

[[NSApplication sharedApplication] registerForRemoteNotificationTypes:NSRemoteNotificationTypeNone];
Run Code Online (Sandbox Code Playgroud)

(尝试使用相同结果的其他类型)

application:didRegisterForRemoteNotificationsWithDeviceToken:
Run Code Online (Sandbox Code Playgroud)

然后使用有效令牌调用.一切似乎都很好但是当自定义区域注册更改时,我没有收到任何通知

application:didReceiveRemoteNotification:
Run Code Online (Sandbox Code Playgroud)

不叫.我还尝试将警报正文设置为一个空字符串,如下所示:

CKNotificationInfo *info = [[CKNotificationInfo alloc] init];
info.alertBody = @"";
info.shouldSendContentAvailable = YES;
Run Code Online (Sandbox Code Playgroud)

但它也没有用.当我将一个字符串设置为警报正文(并注册相应的通知类型)时,我还会在右上角收到该正文的通知,但是不会调用application:didReceiveRemoteNotification:.

希望您能够帮助我.谢谢!

macos cocoa ios icloud cloudkit

7
推荐指数
1
解决办法
774
查看次数

故事板中没有NSGridView?

我想使用NSGridView来构建首选项窗口,但似乎我无法在Storyboard中使用/布局它.我错过了什么吗?

macos cocoa gridview storyboard

4
推荐指数
1
解决办法
728
查看次数

标签 统计

cocoa ×3

macos ×3

cloudkit ×2

ios ×2

gridview ×1

icloud ×1

objective-c ×1

storyboard ×1