我有一个名为TableViewController的视图控制器和另一个名为feed.swift的自定义单元格单元格被正确地重用,因为我不想知道什么按钮被按下。 在我cellForRowAtIndexPath我填充我的用户名与我分析过的JSON。它看起来像这样Swift:如何从一个UIViewController访问一个可变的字符串数组到一个TableView单元格文件
cell.username.text = username[indexPath.row]
output-> ["andre gomes", "renato sanchez", "renato sanchez"]
然后我已标记了用户名按钮,这样
cell.usernamePress.tag = indexPath.row
在我feed.swift我检查,如果一个按钮这是怎么回事,我TableViewController按下并打印出分配给该按钮的标签
@IBAction func usernameBut(sender: AnyObject) {
print(usernamePress.tag)
}
output-> 2
现在我需要访问feed.swift中的TableViewController的用户名数组,并做一些像用户名[usernamePress.tag]
我试图做一个global.swift文件,但我不能配置它的字符串数组。
import Foundation
class Main {
var name:String
init(name:String) {
self.name = name
}
}
var mainInstance = Main(name: "hello")
即使这样做后,我试着打印mainInstance.name,即使改变它也返回hello。我想要一个解决方案,其中字符串数组保存我在TableViewController中设置的值,并且我可以在feed.swift中使用它们。 欢迎任何建议!我很抱歉,如果有这方面的任何类似的问题,但我无法弄清楚如何使用它的字符串
在声明委托的时候用到了UsernameButton动作,我得到了1.在调用和2中使用了无关的参数标签didPressUsernameButtonInCell。代码看起来像这个委托?.feedCell(self),但是当我点击它时,它给了我它没有 –
对不起,我没有编译代码,并在那里犯了两个错误。我更新了答案,它现在应该工作。 –
谢谢你尼克指出我在协议和代表的方向。他们肯定是要走的路:) –