2017-03-07 7 views
0

SWRevealViewControllerでスライドアウトメニュー(UITableView)を作成しました。メニューにアラビア文字列が含まれていますが、一部の文字列を押すとメニューに新しいデータが読み込まれます。アラビア語セルでUITableViewが機能しない

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! MenuTableViewCell 
    if cell.label.text == "الرئيسية" { 
     menuTitles = menuTitlesName 
     self.tableView.reloadData() 
    } 
} 

それはだが、何もしないのtableViewが新たなデータなので、任意の提案をリロードしますので、私はindexPathで働くことができません?!

+1

をリロードすることができますか?いくつかのコードを追加して、お手伝いできるようにしてください。 – Pankaj

+0

@Princeチェックアウト、編集! –

+0

'dequeueReusableCell'が' didSelectRowAt'デリゲートメソッドに属していないため、取得するには['cellForRow(at:)'](https://developer.apple.com/reference/uikit/uitableview/1614983-cellforrow)を使うべきです「既存の」セル。 – user28434

答えて

2

あなたがcellForRowAtIndexPathから選択したセルのインスタンスを取得してからラベルテキストを確認し、この状態をチェックしているところでは、データに

let currentCell = tableView.cellForRow(at: indexPath) as! MenuTableViewCell 
if cell.label.text == "الرئيسية" { 
    menuTitles = menuTitlesName 
    self.tableView.reloadData() 
} 
+0

質問は 'swift3 'タグではなく、あなたのコードは' swift2'のようです。 – user28434

+1

@ user28434は自分のコードを更新しました。 – Pankaj

関連する問題