【问题标题】:SWIFT TableView errorSWIFT 表视图错误
【发布时间】: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
    }...

【问题讨论】:

    标签: ios arrays swift uitableview text-files


    【解决方案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")
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-28
        • 1970-01-01
        • 2011-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-24
        相关资源
        最近更新 更多