我正在尝试创建一个类似slack的应用程序,用户可以创建频道,每个频道包含不同的聊天。我首先创建一个聊天数组,并使用Parse保存和加载它们。现在我有了基础,我正在尝试创建通道。我遇到了麻烦,因为似乎我可以创建2个类(1为聊天,1为频道),并有频道是聊天的数组(这是一个字符串数组)。然而,当我尝试创建聊天数组时,我得到一个错误,说
<实例成员'chats'不能用于类型'ChannelsTVC'
MOBChatTVC类/strong>
class MOBChatTVC: UITableViewController {
var chatArray = [String]() {
didSet {
tableView?.reloadData()
}
}
<ChannelsTVC类/strong>
class ChannelsTVC: UITableViewController {
var chats = MOBChatTVC().chatArray
var channels = [chats]() {
didSet {
tableView?.reloadData()
}
}
编辑
有人帮我解决了这个错误。现在…我的新问题…我如何创建一个数组的chatArrays?
发生错误,因为编译器期望您传递Object类型而不是变量本身,例如
var channels = [String]() {
didSet {
tableView?.reloadData()
}
}
你的设计也有问题:你在ChannelsTVC
中创建MOBChatTVC
的新实例来访问属性chatArray
,因为MOBChatTVC扩展了UITableViewController
,它在MOBChatTVC
中的目的更加不清楚。无论哪种方式,您都可能希望创建ChannelsTVC的新实例并访问其属性和方法,如下所示
class ChannelsTVC: UITableViewController {
var channels = [String]() {
didSet {
tableView?.reloadData()
}
} // channels
var myMobChatTVC = MOBChatTVC()
override func viewDidLoad() {
super.viewDidLoad()
channels = myMobChatTVC.chatArray
} // viewDidLoad
} // ChannelsTVC