我有问题,我找不到任何信息.问题是,我有一个自定义UINibs数组,在我将它们作为CustomTableViewCell创建之后,每个数组都有它们的标准类。
import UIKit
class TestCell1: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
}在这个数组中,我存储了3个UINibs,它们是TableViewCells,在拖放它们之后,我希望保存它们的重新排序。
现在,我已经创建了一个全局数组,它对我的所有ViewControllers都是可访问的。
class Test {
static var globalArray: [UINib] = [UINib(nibName: "ToDoCell", bundle: nil)]}在viewDidLoad下,我尝试过这样的方法:
Test.globalArray.append(test1Nib)
Test.globalArray.append(test2Nib)
Test.globalArray.append(test3Nib)
Test.globalArray.append(test4Nib)我现在挣扎着坚持他们在数组中的秩序。我尝试过领域,核心数据和UserDefaults,但我找不到任何解决方案。但我想问题是他们对UINibs不满意
这些Nib每个代表一个UITableView中的一个单元,在用户能够按他喜欢的方式移动这些单元之后,当然在重新打开应用程序之后应该会持续。因此,如果我做对了,我只需要持久化IndexPath,但我找不到任何有用的信息.
我希望我能在这里找到帮助--请不要说我刚刚开始Swift和iOS开发,也许我尝试的是根本不可能的--也许你有一个快速的提示,一些教程,一些片段,一些书籍,一些想法或任何方向的东西。我愿意学习,也许我只是解释错误的东西将是伟大的!非常感谢!
发布于 2018-04-03 19:39:19
您已经发现存储UINib实例数组是不可能的。这是因为这样做是没有意义的。nibs是视图层的实现细节。您保存的东西属于模型层,它应该独立于视图层。你应该能够把你的模型层的代码放在一个桌面应用程序,一个网络应用程序,甚至一个Android应用程序不改变它。当然,如果引用任何特定于iOS的视图类(如UINib ),这是不可能的。
您可以做的最简单的事情是使模型成为一个字符串数组。这些字符串可能是你的笔名。这很容易序列化,在实例化表视图单元格时也很容易使用。
https://stackoverflow.com/questions/49617887
复制相似问题