আমার মধ্যে 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
পদ্ধতিতে কনফিগার পদ্ধতিটি ব্যবহার করি, তখন আমি যে ব্লকটিতে প্রবেশ করি সেখানে কীভাবে দুর্বল স্বকে সঠিকভাবে ব্যবহার
করব the দুর্বল স্ব ছাড়া আমার যা আছে তা এখানে:
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]
?