gpt4 book ai didi

iOS swift : tblSearchResults unresolved identifier and can not invoke String (contentsOfFile. ..)

转载 作者:行者123 更新时间:2023-11-30 13:36:23 29 4
gpt4 key购买 nike

我在构建搜索栏以搜索我正在构建的项目的工作类型列表时遇到一些问题。我收到很多红色感叹号,表示“tblSearchResults”是未解析的标识符。

这是发生问题的项目源代码。

    func WorkTypeSearchable() {

let pathToFile = NSBundle.mainBundle().pathForResource("work", ofType: "txt")

if let path = pathToFile {

let workString = String(contentsOfFile: path, encoding:
NSUTF8StringEncoding, error: nil)!

let WorkTypeSearchable = workString.componentsSeparatedByString("\n")

tblSearchResults.reloadData()
}
}

你能解释一下为什么我会收到一个未解析的标识符错误,以及“workString = String(code)...”的字符串错误吗

我正在使用所有适当的类,如下所示:

class ViewController: UIViewController, UIPickerViewDataSource,
UIPickerViewDelegate, UITableViewDelegate, UITableViewDataSource,
UISearchResultsUpdating, UISearchBarDelegate {

请注意,我稍后还在程序中使用了选择器。

最佳答案

未解析的标识符错误表示 Xcode 找不到您定义 tblSearchResults 的位置。您是否连接了 IBOutlet 并初始化了委托(delegate)?单独实现委托(delegate)不会导致 tblSearchResults 指向您想要的 UITableView。

要创建 IBOutlet,请打开 Assistant Editor,然后按住 Control 键并从 UITableView 拖动到类声明的正下方,并将类型更改为 Outlet,将名称更改为 tblSearchResults。然后,您可能还想在 viewDidLoad() 中初始化委托(delegate)和数据源,如下所示:

class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate, UITableViewDelegate, UITableViewDataSource, UISearchResultsUpdating, UISearchBarDelegate {
@IBOutlet weak var tblSearchResults: UITableView!
override func viewDidLoad() {
tblSearchResults.delegate = self
tblSearchResults.dataSource = self
//Insert other initialization code here
}
}

字符串初始化:Swift 1 与 Swift 2

您提到您正在使用 Swift 2,它不再使用 String initialization您在代码中使用的方法。有两点不同:

  1. 您必须使用 NSString 而不是 String
  2. 您必须使用 try 语句

试试这个:(请注意,这是不安全的,如果无法读取文件,应用程序将会崩溃)

let text2 = try! NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding)

关于iOS swift : tblSearchResults unresolved identifier and can not invoke String (contentsOfFile. ..),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36020541/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com