我收到了一些使用Swift的错误,并且当我尝试了其他Stack Overflow帖子中列出的解决方案时,我收到了其他错误。第一个错误我得到的是 NSForwarding:警告:类“h2.Items”不实现methodSignatureForSelector对象0x7dc4ca30: - 麻烦了 无法识别的选择 - [h2.Items的initWithCoder:]为什么会有未捕获的异常?
那么我已经更新了我代码添加“NSObject”,当我这样做时,我得到以下错误:
终止应用程序由于未捕获的异常'NSInvalidArgumentException',原因:' - [h2.Items initWithCoder:]:无法识别的选择器发送到实例0x79069250'
我不确定该从哪里出发。我一直在下面的http://shrikar.com/blog/2015/01/17/uitableview-and-uitableviewcell-customization-in-swift/
没有人有任何其他建议解决方法?
我的代码是:
import CloudKit
import UIKit
import Foundation
class Items: NSObject
{
class Entry
{
var filename : String
init(fname : String)
{
self.filename = fname
}
}
var pics = [
Entry(fname: "circle.png")
]
}
这里是正在调用类的代码:
var items = Items()
override func viewDidLoad() {
super.viewDidLoad()
}
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.pics.count
}
override func tableView(tableVIew: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as TableViewCell
let entry = items.pics[indexPath.row]
let image = UIImage(named: entry.filename)
cell.anotherSelfie.image = image
return cell
}
}
,这里是该小区的代码:
class TableViewCell: UITableViewCell {
@IBOutlet var anotherSelfie: UIImageView!
override func awakeFromNib() {
super.awakeFromNib()
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
}
您应该显示出现这些错误的代码。 – 2015-02-05 18:20:39
这是针对Objective-C的,但它解释了无法识别的选择器异常:http://stackoverflow.com/questions/25853947/how-can-i-debug-unrecognized-selector-sent-to-instance-error – 2015-02-05 18:23:41
您定义'Items'作为符合'NSObject'协议的类,这并不意味着它是NSObject。事实上,你在'Items'定义中定义了另一个类型。 NSObjects不能在其定义中定义其他类...以及函数,结构体,枚举。可能这是你问题的根源。 – 2015-02-05 18:58:10