मैं भागों में एक बाध्य सरणी कि स्वचालित रूप से तालिका भरने कैसे विभाजित कर सकते हैं?

वोट
0

मैं अपने इंटरफेस पर एक NSTableview करने के लिए अपने सरणी 'संग्रह' नामक बाध्य करने के लिए इस 'ट्यूटोरियल' का प्रयोग किया: http://www.cocoadev.com/index.pl?NSArrayController

interfacebuilder सामान है कि मुश्किल नहीं है। यह मुश्किल हो जाता है जब मैं वास्तव में दृश्य में मेरी सरणी में डेटा दिखाने के लिए प्रयास करें।

मेरी ज फ़ाइल में:

@interface MyDocument : NSDocument
{
    NSMutableArray *collection;
    //other variables
}

और मेरे .m फ़ाइल में:

@implementation MyDocument
@synthesize collection;
     //quite some functions

     inside one function (that works):
     [collection addObject:fileName];

     //some other functions

     inside the init function:
     collection = [[NSMutableArray alloc] init];

अब मुझे लगता है कि सरणी इंटरफेस और करने के लिए अच्छी तरह से बाध्य है tableview इसके अंदर, लेकिन बिल्कुल tableview और उसके स्तंभ एक विशिष्ट तरीके से भरे जाने की जरूरत है। अभी कुछ भी नहीं है एक आइटम जोड़ने के बाद पता चलता है। साथ संग्रह addObject: fileName समारोह

मैं एक आइटम के रूप में एक उप सरणी, खेतों से भरा बनाना चाहिए? और कैसे मैं इन मूल्यों के लिए बाध्य करना चाहिए / विशिष्ट स्तंभ के लिए फ़ील्ड। (फ़ील्ड 'कर रहे हैं कलाकार ', ' शीर्षक ', आदि)

मैं पहले से ही करने के लिए इंटरफ़ेस बिल्डर में प्रत्येक स्तंभ के लिए बाध्य है सरणी नियंत्रक के साथ नियंत्रक कुंजी ' arrangedObjects ' और मॉडल कुंजी पथ ' कलाकार ', ' शीर्षक ', आदि।

कृपया स्पष्टीकरण सरल रखने के बाद से मैं धीरे धीरे मैं इस सरणी नियंत्रक बात कभी नहीं मिलेगा सोचने के लिए शुरू कर रहा हूँ ... ऑब्जेक्टिव-सी प्रतीत नहीं होता है कठिन है, लेकिन बंधन है जो यह की जरूरत है मैं तो बस नहीं मिलता क्या है कि। एप्पल के उदाहरण newbies के लिए पर्याप्त नहीं हैं

27/01/2009 को 20:46
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
1

बस सरणी परिवर्तनशील कुछ भी है कि सरणी बदल गया है नहीं बताता है। आप परिवर्तन के लिए KVO सूचना भेजने के लिए की जरूरत है।

यह करने के लिए सही तरीके से, संपत्ति के लिए एक्सेसर तरीकों को लागू करने के तो अपने स्वयं के accessors कहते हैं। इस मामले में, आप लागू करने के लिए चाहता हूँ insertObjectInCollection:atIndex:और (सूचकांक के रूप में सरणी की लंबाई पारित [self insertObjectIntoCollection:fileName atIndex:[self countOfCollection]भी लागू करने के बाद, countOfCollection)।

जब आप accessors लागू है, तो एक वस्तु संपत्ति को बांधता है जब, कोको KVO जादू में accessors कि उत्परिवर्तन के लिए उपयुक्त सूचना भेज देगा लपेट होगा।

28/01/2009 को 00:35
का स्रोत उपयोगकर्ता

वोट
1

आम तौर पर अपने डेटा को भरने के लिए आप और भी बेहतर प्रत्येक पंक्ति के लिए एक शब्दकोश का उपयोग करें (कुंजी मुख्यपथ होगा, और डेटा वस्तु), या एक वर्ग डेटा का प्रतिनिधित्व करने के बना सकते हैं और प्रत्येक पंक्ति के लिए एक नया उदाहरण बना सकते हैं। बाइंडिंग पहली बार आपको थोड़ा मुश्किल हो सकता है (यदि आप कोको के लिए नया डेटा स्रोत तरीकों पहले आदत हो रहे हैं), लेकिन पर एक नजर है इस ट्यूटोरियल और उदाहरण यहाँ । दोनों नमूने डाउनलोड करने और जांच वास्तव में कैसे बाइंडिंग इंटरफ़ेस बिल्डर में सेट किया गया है सकते हैं।

27/01/2009 को 22:19
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more