2011-11-02 12 views
6

कुछ दिन पहले, मैंने वीडियो ट्यूटोरियल देखा जो बताता है कि UITableViewController में कस्टम सेल का उपयोग कैसे करें। मैंने सीखा है कि मैं सीधे इंटरफ़ेस बिल्डर में एक कस्टम सेल तैयार कर सकता हूं, इसलिए मैंने निम्न किया:किसी आईआईटीबल व्यू कंट्रोलर से सीधे आईबीओटलेट को कस्टम सेल से कैसे कनेक्ट करें?

मैंने एक UITableViewController बनाया और एक कस्टम क्लास को कनेक्ट किया जिसमें आईबीओलेट (UILabel) शामिल है। उसके बाद, मैंने अपने स्टोरीबोर्ड में स्विच किया और एक यूलाबेल के साथ अपना कस्टम सेल तैयार किया। अंत में मैं लेबल को UITableViewController से सीधे अपने कस्टम सेल पर कनेक्ट करता हूं।

निम्न होता है:

Couldn't compile connection: <IBCocoaTouchOutletConnection:0x400724860 <IBProxyObject: 0x4007872c0> => productLabel => <IBUIImageView: 0x401080220>> 

है नहीं यह संभव इस सीधे कनेक्ट करने के लिए? डब्ल्यूडब्ल्यूडीसी 2011 अनुभाग (सत्र # 30 9) के ट्यूटोरियल वीडियो में वे वही करते हैं जो मैंने किया था। लेकिन एक हुक है: वे कोड को पीछे नहीं दिखाते हैं, वे इसे ऊपर से समझाते हैं जैसे कि मैंने ऊपर बताया है। enter image description here

उत्तर

3

वास्तव में,

मैं वीडियो देखा है और वे जिस तरह से आप का सुझाव जोड़ने नहीं हैं:

एक बेहतर समझ के लिए मैं एक स्क्रीनशॉट है जो दिखाता है, मैं क्या कनेक्ट जोड़ें। वे सेल से सेल में UILabel से कनेक्ट कर रहे हैं। दूसरे शब्दों में, उनके पास UITableViewCell का उप-वर्ग है और वे कस्टम ऑब्जेक्ट में उन IBOutlets को कनेक्ट कर रहे हैं। अपने मूल रूप में, आप कस्टम सेल क्लास बना सकते हैं और केवल इंटरफ़ेस घोषित कर सकते हैं और गुणों को संश्लेषित कर सकते हैं और आपको जाने के लिए अच्छा होना चाहिए। बस सुनिश्चित करें कि आपने स्टोरीबोर्ड में अपना पहचानकर्ता और कस्टम क्लास सही तरीके से सेट अप किया है।

उम्मीद है कि इससे मदद मिलती है।

+0

हां, यह सही है। यह संभवतः UITableViewCell का उप-वर्ग है। – Simon

+0

मैंने फिर से वीडियो देखा है। आप सही हे! मेरी गलती। माफ़ कीजिये। मेरा अगला प्रश्न यह होगा कि मैं डेटा को डेटा के साथ कैसे भर सकता हूं (गुणों को TableCell.h में ले जाया गया है, इसलिए मैं इन्हें एक्सेस नहीं कर सकता - सेलफोररोएट इंडेक्सपैथ: (एनएसआईएनडीएक्सपाथ *) इंडेक्सपाथ UITableViewController में)। यदि आप इसके लिए त्वरित उत्तर जानते हैं, तो आपका स्वागत है - अन्यथा मैं Google से पूछूंगा, मुझे यकीन है कि किसी ने उससे पहले पूछा था; ओ) –

+0

अगर किसी को भी वही समस्या है जैसा मैंने ऊपर टिप्पणी में समझाया है, तो देखें: http : //www.youtube.com/watch? v = d_kO-J3DYvc –

4

मैं this question में एक ही समस्या के रूप में बाहर निकला था। जैसा कि मेरे प्रश्न के उत्तर में कहा गया है, समस्या यह है कि यहां सेल एक प्रोटोटाइप सेल है। एक सेल तत्व और UITableViewController के बीच एक कनेक्शन स्थिर कोशिकाओं के साथ तालिका दृश्य के लिए ठीक काम करता है क्योंकि वे लॉन्च पर बनाए जाते हैं, लेकिन प्रोटोटाइप कोशिकाओं के लिए यह समझ में नहीं आता है क्योंकि उनमें से कई शायद बनाए जाएंगे ... और वे नहीं CellForRowAtIndexPath कहा जाता है जब तक मौजूद है। (यह वास्तव में एक खराब त्रुटि संदेश है, और एक्सकोड शायद आपको इस तरह के अवैध कनेक्शन नहीं होने देना चाहिए।)

संबंधित मुद्दे