gpt4 book ai didi

ios - 'lock' 已弃用 : first deprecated in iOS 8. 0 - 使用 -performBlockAndWait: 代替 - iOS 核心数据警告

转载 作者:可可西里 更新时间:2023-11-01 17:14:49 25 4
gpt4 key购买 nike

我使用的是 Xcode 7.1,在打开我现有的应用程序时收到此警告。如果有人展示使用 -performBlockAndWait:

的方法将会很有帮助

enter image description here

谢谢

最佳答案

正如 Mundi 所说,您不需要锁定您正在做的事情。但是,要解决您关于 lockunlock 被弃用的一般问题...

您应该改用 performBlockperformBlockAndWait。这些方法类似于 NSManagedObjectContext 中的方法。

因此,您无需手动锁定关键区域,而是将该代码放入“执行”的 block 中。

例如,如果您有这段代码...

[persistentStoreCoordinator lock];
[persistentStoreCoordinator doSomeStuff];
[persistentStoreCoordinator unlock];

你会用...替换它

[persistentStoreCoordinator performBlock:^{
[persistentStoreCoordinator doSomeStuff];
}];

请注意,performBlock 是一个异步操作,它会立即返回,安排代码块在未来某个时间点在其他线程上执行。

这应该没问题,因为无论如何我们应该使用异步模型进行大部分编程。

如果您必须同步执行,您可以使用替代方案,它将在返回调用线程之前完成 block 的执行。

[persistentStoreCoordinator performBlockAndWait:^{
[persistentStoreCoordinator doSomeStuff];
}];

同样,它们的行为与它们的 NSManagedObjectContext 对应物完全相同。

关于ios - 'lock' 已弃用 : first deprecated in iOS 8. 0 - 使用 -performBlockAndWait: 代替 - iOS 核心数据警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34334264/

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