Friday, 15 March 2013

ios - Custom table view cell: IBOutlet label is nil -


निम्नलिखित सरल दृश्य नियंत्रक पर विचार करें:

  वर्ग देखें नियंत्रक: UIViewController, UITableViewDataSource {@IBOutlet कमजोर var तालिकादृश्य: UITableView! Var आइटम = ["वन", "दो", "तीन"] ओवरक्राइड फंक दृश्यडिडलोड () {super.viewDidLoad () self.tableView.registerClass (CustomTableViewCell.self, forCellReuseIdentifier: "customCell") self.tableView.dataSource = self } फ़ंक्शन तालिकादृश्य (तालिका दृश्य: UITableView, numberOfRowsInSection अनुभाग: Int) - & gt; इंट {रिटर्न स्व। आईटम्स। कोट; } फ़ैन्क टेबलव्यू (टेबलव्यू: यूआईटीबल्यूव्यू, सेलफोररूऐटएक्सएपैथ इंडेक्सपाथ: एनएसआईंडएक्सपाथ) - & gt; UITableViewCell {सेल = self.tableView.dequeueReusableCellWithIdentifier ("कस्टमसेल") के रूप में CustomTableViewCell cell.titleLabel! .text = self.items [indexPath.row] वापसी सेल}}  

और कस्टम सेल देखें:

<प्री> वर्ग कस्टमटेबल दृश्यकेल: UITableViewCell {@IBOutlet कमज़ोर var शीर्षकलेबेल: यूआईएलबल! > titleLabel शून्य है - यह स्पष्ट नहीं है कि क्यों UITableViewCell (जैसे textLabel ) के डिफ़ॉल्ट गुणों की सेटिंग ठीक है।

मैं कस्टम कक्ष के लिए एक निब का उपयोग कर रहा हूं।

< P> दोनों लेबल और तालिका दृश्य उनके IBOutlet से जुड़ा हैं।

दोनों प्रोटोटाइप सेल और कस्टम निब IOS विकास के लिए नया हूँ, क्या मैं कुछ स्पष्ट कर रहा हूं?

/ Div>

सबसे पहले, आप अपने कस्टम कक्ष को तालिका में लोड करने के लिए एक निब फाइल का उपयोग कर रहे हैं। शायद यह सिरदर्द की तुलना में अधिक होने वाला है, यदि आप स्विफ्ट / कोको में नए हैं मैं समय के लिए स्टोरीबोर्ड पर सब कुछ ऊपर ले जाएगा निब फाइल क्लिक करने के बजाय, स्टोरीबोर्ड पर जाएं, अपने UITableView पर क्लिक करें और सुनिश्चित करें कि टेबलव्यू की सामग्री सेटिंग Dyanamic प्रोटोटाइप है:

यहाँ छवि विवरण दर्ज करें

अगला, प्रोटोटाइप सेल पर क्लिक करें (तालिका दृश्य में केवल एक ) और CustomTableViewCell को क्लास सेट करें और इसके पुनः उपयोग पहचानकर्ता को customcell में सेट करें:

आगे, अपने प्रोटोटाइप सेल पर एक लेबल जोड़ें और अपने CustomTableViewCell वर्ग में इसे IBOutlet में लिंक करें। आपको अपने customcell को पंजीकृत करने की आवश्यकता नहीं है, जब तक कि आपने स्टोरीबोर्ड में पुन: उपयोगकर्ता पहचानकर्ता सेट कर दिया हो। इस पंक्ति को हटाएं:

  self.tableView.registerClass (CustomTableViewCell.self, forCellReuseIdentifier: "customCell")  

और इसे चलाना चाहिए।


No comments:

Post a Comment