首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >持久化UINib数组

持久化UINib数组
EN

Stack Overflow用户
提问于 2018-04-02 19:53:48
回答 1查看 48关注 0票数 0

我有问题,我找不到任何信息.问题是,我有一个自定义UINibs数组,在我将它们作为CustomTableViewCell创建之后,每个数组都有它们的标准类。

代码语言:javascript
复制
import UIKit

class TestCell1: UITableViewCell {

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}
}

在这个数组中,我存储了3个UINibs,它们是TableViewCells,在拖放它们之后,我希望保存它们的重新排序。

现在,我已经创建了一个全局数组,它对我的所有ViewControllers都是可访问的。

代码语言:javascript
复制
class Test {
static var globalArray: [UINib] = [UINib(nibName: "ToDoCell", bundle: nil)]}

在viewDidLoad下,我尝试过这样的方法:

代码语言:javascript
复制
    Test.globalArray.append(test1Nib)
    Test.globalArray.append(test2Nib)
    Test.globalArray.append(test3Nib)
    Test.globalArray.append(test4Nib)

我现在挣扎着坚持他们在数组中的秩序。我尝试过领域,核心数据和UserDefaults,但我找不到任何解决方案。但我想问题是他们对UINibs不满意

这些Nib每个代表一个UITableView中的一个单元,在用户能够按他喜欢的方式移动这些单元之后,当然在重新打开应用程序之后应该会持续。因此,如果我做对了,我只需要持久化IndexPath,但我找不到任何有用的信息.

我希望我能在这里找到帮助--请不要说我刚刚开始Swift和iOS开发,也许我尝试的是根本不可能的--也许你有一个快速的提示,一些教程,一些片段,一些书籍,一些想法或任何方向的东西。我愿意学习,也许我只是解释错误的东西将是伟大的!非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-03 19:39:19

您已经发现存储UINib实例数组是不可能的。这是因为这样做是没有意义的。nibs是视图层的实现细节。您保存的东西属于模型层,它应该独立于视图层。你应该能够把你的模型层的代码放在一个桌面应用程序,一个网络应用程序,甚至一个Android应用程序不改变它。当然,如果引用任何特定于iOS的视图类(如UINib ),这是不可能的。

您可以做的最简单的事情是使模型成为一个字符串数组。这些字符串可能是你的笔名。这很容易序列化,在实例化表视图单元格时也很容易使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49617887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档