私はこの情報を持つ配列を取ろうとしています:["Concert"、 "Coachella"、 "Date"]そして選択された配列のテキストをボタンのテキストに変換してください。だから私は、配列の "日付"オプション(テーブルビューで提示)を選択すると、そのデータを私の最初のVCに戻す必要がありますどこのテキスト "日付"がボタンのテキストとして表示されます。何らかの理由で[String]からStringを抽出できないようです。その文字列を抽出すると、その文字列をUIButtonのタイトルテキストとして設定できます。ここで文字列の配列からテキストを取り出し、それをボタンのテキストとして使用するにはどうすればよいですか?
は、テーブルビューオプションを表示し、ユーザーがオプションを選択し、そのデータを別のVCに送信されますどこのコードです:
var delegate : SentDataBack?
@IBOutlet weak var occasionsTableView: UITableView!
@IBOutlet weak var occasionSearchBar: UISearchBar!
var addedOccasions = ["Coachella", "Concert", "Date"]
var index = 0
var selectedCell = [""]
override func viewDidLoad() {
super.viewDidLoad()
occasionsTableView.delegate = self
occasionsTableView.dataSource = self
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = occasionsTableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
//let addedOccasions = ["Coachella", "Concert", "Date"]
cell.textLabel?.text = addedOccasions[indexPath.row]
cell.textLabel?.highlightedTextColor = UIColor(red: 255/255, green: 77/255, blue: 91/255, alpha: 1)
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return(addedOccasions.count)
}
// need to create a method that determines what happens when you click on a cell. what it should do is highlight its text then either store that name into a variable or return what cell text was selected to the data sent back method
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
index = indexPath.row
selectedCell = [addedOccasions[index]]
}
@IBAction func doneButtonPressed(_ sender: Any) {
delegate?.dataSentBack(occasionSentBack: selectedCell)
// sends back selected option
dismiss(animated: true, completion: nil) //can also add a function in here where it says nil, if you want something to happen upon completion of dismiss
}
そしてここでは、データとをすることになっていることを受けてのコードです選択された[文字列]のテキストを表示するボタンを操作する:
func dataSentBack(occasionSentBack: [String]) {
configureAddedOccasionButton(selectedOccasion: occasionSentBack)
// once you get back whatever data is sent back which should be one event, then this area should add that button as selected to the filter list and possibly should add occasion name to occasion array list
}
func configureAddedOccasionButton(selectedOccasion : [String]) {
//set look of occasion button
addedOccasion.isHidden = false
addedOccasion.titleLabel?.text = selectedOccasion.description
addedOccasion.frame = CGRect(x: 86, y: 33, width: 70, height: 43)
buttonSelected(buttonPressed: addedOccasion)
}
はどうもありがとうfirstVC –