SWIFT 表视图错误

Posted

技术标签:

【中文标题】SWIFT 表视图错误【英文标题】:SWIFT TableView error 【发布时间】:2015-09-03 05:37:50 【问题描述】:
class MasterViewController: UITableViewController 

    let firstTable = [String]()
    let secondTable = [String]()

    var path = NSBundle.mainBundle().pathForResource("Chapters", ofType: "txt")
    var data = String(contentsOfFile:path, encoding: NSUTF8StringEncoding, error: nil)
    var content = (data)
    var line: [String] = content.componentsSeparatedByString("\n")

错误:

“MasterViewController.Type”没有名为“path”的成员

@dip 的下一个问题 >> 为什么表格打印初始空字符串?文本打印在第二个单元格中,而不是从 0 开始

var path: String?
var data: String?
var TableView1 = [String]()

override func viewDidLoad() 
    super.viewDidLoad()

    self.path = NSBundle.mainBundle().pathForResource("textFile", ofType: "txt")
    self.data = String(contentsOfFile:path!, encoding: NSUTF8StringEncoding, error: nil)
    if var content = (data)
        //var line: [String] = content.componentsSeparatedByString("\n")
        var chp: [String] = content.componentsSeparatedByString("#")

        TableView1 += chp
    ...

【问题讨论】:

【参考方案1】:

对于计算属性,您必须通过 setter 方法访问, 例如使可选的全局变量像

var path:String?

然后让我们从 viewDidload 内部 说设置值,例如

self.path = NSBundle.mainBundle().pathForResource("Chapters", ofType: "txt")

您的错误将消失!希望对您有所帮助!

【讨论】:

可以说我在表格视图中使用它。这将允许我从文本文件中调用一行文本吗? 我提供的答案是'MasterViewController.Type'没有名为'path'的成员错误,我想它应该在你原来的问题的上下文中工作! 这确实感谢。但现在它在第二个单元格而不是第一个单元格中打印文本。知道为什么吗? 您似乎正在使用 \n 转义序列跟踪行,从概念上讲它应该可以工作,请分享您的代码以便于评论!如果它对您有帮助,请不要忘记接受答案:D【参考方案2】:

以下更改也可能有效;

private class var path:String 
    get 
        return NSBundle.mainBundle().pathForResource("Chapters", ofType: "txt")!
    


var data = String(contentsOfFile:path, encoding: NSUTF8StringEncoding, error: nil)

【讨论】:

【参考方案3】:

初始化data 实例的方法是错误的。而不是在您的类方法中执行此操作,假设您可以在 viewDidLoad 方法中执行此操作,如下所示:

override func viewDidLoad() 
    super.viewDidLoad()
    var path = NSBundle.mainBundle().pathForResource("Chapters", ofType: "txt")
    var data = String(contentsOfFile:path, encoding: NSUTF8StringEncoding, error: nil)
    var content = (data)
    var line: [String] = content.componentsSeparatedByString("\n")

【讨论】:

以上是关于SWIFT 表视图错误的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT:在具有多个部分的表视图中显示字典时,无法将具有标识符单元格错误的单元格出列

在 SWIFT 的表视图中填充自定义单元格时出错

如何使用 Swift 在静态表视图底部添加动态表视图?

如何在swift中的动态表视图中创建动态表视图?

2 在一个视图控制器中使用 Swift 3 的表视图

如何使用 Swift 在集合视图单元格中添加表视图?