gpt4 book ai didi

ios - 为什么 saveInBackgroundWithBlock 在我启用 Parse 的类中只工作*一次*?

转载 作者:行者123 更新时间:2023-11-29 01:57:12 24 4
gpt4 key购买 nike

我有一个包含此代码的类,平均每分钟被调用几次,并且仅在主线程上运行:

        PFObject* eventObj = [PFObject objectWithClassName:@"AdminConsoleEvent"];
eventObj[kACParseEventName] = event;
eventObj[kACParseEventUrgency] = urgency;
if( param1 )
eventObj[kACParseEventParam1] = param1;
eventObj[kACParseEventPointerToAdminConsole] = self.adminConsole;
=== [eventObj saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
+++ if( !succeeded ) {
//here
}
}];

如果我在 === 处放置一个断点,我会发现每次 eventObj 都是我所期望的......一个带有有效信息的非零对象。

如果我在+++ 所在的位置放置一个断点,那么我会发现它只被击中一次——第一次调用此代码时。如果我查看 Parse 数据浏览器(在线),果然,只有第一个对象被保存(立即)!其余的永远不会出现。

到底为什么 block (+++) 没有为后续调用运行?为什么不保存其他对象?

最佳答案

好的,这修复了它......

[PFObject saveAllInBackground:@[eventObj, self.adminConsole] block:^(BOOL succeeded, NSError *error) {

我假设这是因为有一个循环引用:self.adminConsole 有一个为 eventObj 添加到它的引用,而 eventObj 有一个为 self.adminConsole 添加到它的引用。无论出于何种原因,如果我直接在对象上使用 saveInBackground,这对我来说会破坏 Parse。

关于ios - 为什么 saveInBackgroundWithBlock 在我启用 Parse 的类中只工作*一次*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30712802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com