Как правильно справляться со слабым Я в стремительных блоках с помощью аргументов

В моемTextViewTableViewCellУ меня есть переменная для отслеживания блока и метод конфигурации, где блок передается и назначается.
Вот мойTextViewTableViewCell учебный класс:

//
//  TextViewTableViewCell.swift
//

import UIKit

class TextViewTableViewCell: UITableViewCell, UITextViewDelegate {

    @IBOutlet var textView : UITextView

    var onTextViewEditClosure : ((text : String) -> Void)?

    func configure(#text: String?, onTextEdit : ((text : String) -> Void)) {
        onTextViewEditClosure = onTextEdit
        textView.delegate = self
        textView.text = text
    }

    // #pragma mark - Text View Delegate

    func textViewDidEndEditing(textView: UITextView!) {
        if onTextViewEditClosure {
            onTextViewEditClosure!(text: textView.text)
        }
    }
}

Когда я использую метод конфигурации в моемcellForRowAtIndexPath метод, как правильно использовать слабое Я в блоке, который я передаю.
Вот что я имею без слабой самости:

let myCell = tableView.dequeueReusableCellWithIdentifier(textViewCellIdenfitier) as TextViewTableViewCell
myCell.configure(text: body, onTextEdit: {(text: String) in
   // THIS SELF NEEDS TO BE WEAK  
   self.body = text
})
cell = bodyCell

ОБНОВИТЬ: Я получил следующее, чтобы работать с помощью[weak self]:

let myCell = tableView.dequeueReusableCellWithIdentifier(textViewCellIdenfitier) as TextViewTableViewCell
myCell.configure(text: body, onTextEdit: {[weak self] (text: String) in
        if let strongSelf = self {
             strongSelf.body = text
        }
})
cell = myCell

Когда я делаю[unowned self] вместо[weak self] и вынутьif Заявление, приложение вылетает. Любые идеи о том, как это должно работать с[unowned self]?

Ответы на вопрос(9)

Ваш ответ на вопрос