2016-08-05 6 views
1

Erhalten habe ich eine eigene Zelle mit einem UITextView darin und outlet für die UITextView ist in der customCell Datei.UITextView Daten in benutzerdefinierter Zelle in schnellen

Jetzt in meinem viewController Ich habe tableView und ich erstellen und diese benutzerdefinierte Zelle in meinem Tisch. Danach kann ich nicht auf UITextView zugreifen und seine Daten als outlet in der customCell-Datei erhalten. Ich kann die Steckdose nicht zu meinem viewController bewegen, wie ich es brauche. Wie kann ich dies tun (Zugriff auf die UITextView in meinem viewController)?

Antwort

4

Sie, dass die Delegierten der Zelle festlegen textView mit Ihrem viewController, Sie zuerst seinen Delegaten in Ihrem cellForRowAtIndexPath

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomTableCell 
    cell.textView.delegate = self 
    cell.textView.tag = indexPath.row //In case you have multiple textView 
    return cell 
} 

Jetzt können Sie diese Textview in seinem UITextViewDelegate Verfahren erhalten .

func textViewDidBeginEditing(textView: UITextView) { 
    print(textView.text) 
} 
0

Sie müssen eine lokale Variable in Ihrem viewController deklarieren, um die Daten Ihres UITextView zu erhalten. Dann werden die delegate s tableView implementieren Methode

//this is your local variable declared in viewCOntroller 
var myTextViewText: String? 

//And this is your delegate method 
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    let cell = tableView.cellForRowAtIndexPath(indexPath) as! YourCell 
    myTextViewText = cell.textView.text //here you will get the text of your cell's textView 
} 
+0

Danke, aber ich versuche Benutzereingaben zu erhalten, wenn eine Schaltfläche angetippt wird. Dies wird hier nicht ausgeführt, da der Benutzer die Zeile möglicherweise nicht auswählt, nachdem die Eingabe geändert wurde. –