小编Lor*_*esh的帖子

从 Core Data 中检索 NSOrderedSet 并将其转换为实体 ManagedObjectSubclasss

我的设计

我正在制作一个健身应用程序来学习核心数据,我发现我需要让用户将每次执行的锻炼存储为锻炼日志项,并且其中应该有一系列代表该锻炼表现的锻炼日志(它包含每个举重动作以及实际练习设计的参考)。

问题是,过了一会儿我意识到我需要对这些进行排序,以便下次我想向用户展示他们的锻炼时,执行练习的顺序应该相同。

所以我检查了图像右上角的“ordered”,现在我的代码急需更新。我尝试尽可能多地阅读有关使用NSOrderedSet以及如何从核心数据中获取它们然后操作它们的内容,但我并没有真正发现对我有多大用处。(我没有 Objective-c 的经验)

例如我以前的代码是:

static func deleteWorkoutLog(_ workoutLogToDelete: WorkoutLog) {

    guard let exerciseLogsToDelete = workoutLogToDelete.loggedExercises as? Set<ExerciseLog> else {
        print("error unwrapping logged exercises in deleteWorkoutLog")
        return
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误: .../DatabaseFacade.swift:84:77: Cast from 'NSOrderedSet?' 不相关的类型“设置”总是失败

所以我学到的关于集合和核心数据的知识似乎不再适用。

我远不是编程专家,但我非常渴望学习如何访问实例loggedExercises

太长了;有没有办法将 NSOrderedSet 转换为我可以使用的东西?我们通常如何使用核心数据中的 NSManagedSets ?我们是否将它们转换为数组或可变集?我非常感谢一个或两个关于如何开始检索和使用这些有序集的示例!

谢谢

core-data nsorderedset swift

6
推荐指数
1
解决办法
3007
查看次数

为什么在 UIViewPropertyAnimator 中使用“unowned”

所以我一直在阅读一些有关 UIViewPropertyAnimator 的内容,在我看过的示例中,他们做了这样的事情:

\n\n
animator = UIViewPropertyAnimator(duration: 2.0, curve: .easeInOut, animations: { \n        [unowned self, redBox] in\n        redBox.center.x = self.view.frame.width\n        redBox.transform = CGAffineTransform(rotationAngle: CGFloat.pi).scaledBy(x: 0.001, y: 0.001)\n    })\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不明白其中的“[unowned self, redBox]”部分。谁能解释一下我们用它做什么?

\n\n

我知道 unowned 通常用于决定如何确定引用计数,并且不能将其设置为 nil,因为引用将不存在而没有另一个(作为弱的替代),但我不明白其用途在这里,我不明白括号部分。在我看来,它是一个动画项目及其所在视图的数组?

\n\n

完整代码如下:

\n\n
import UIKit\n\nclass ViewController: UIViewController {\n\n    var animator: UIViewPropertyAnimator!\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        //redBox\n\n        let redBox = UIView(frame: CGRect(x: 10, y: 100, width: 100, height: 100))\n        redBox.translatesAutoresizingMaskIntoConstraints = false// lar oss redigere posisjon og s\xc3\xa5nn selv, uten at xcode setter …
Run Code Online (Sandbox Code Playgroud)

swift uiviewpropertyanimator

3
推荐指数
1
解决办法
872
查看次数