2008-12-24 9 views
6

मुझे NSMutableData के साथ काम करने में एक समस्या है।एनएसएमयूटेबलडेटा कैसे काम करता है?

मैंने एक NSMutableData *receivedData परिभाषित किया, और कई NSData* डेटा को receivedData पर कॉपी करने का प्रयास किया। मैं सिर्फ [receivedData appendData:data] कहा जाता है, लेकिन प्रतीत होता है डेटा कॉपी नहीं है:

.... 
NSLog(@"get data! Received %d bytes of data",[data length]); 
    // output is not zero, say 1231. 

[receivedData appendData:data]; 
NSLog(@"after append! length is %d bytes of data",[receivedData length]); 
    // showing zero 

धन्यवाद।

उत्तर

15

receivedData == nil देखें या नहीं। यदि ऐसा है, तो हो सकता है कि आप इसे प्रारंभ करना भूल गए हों।

जब आप इसे अब और ज़रूरत नहीं है
receivedData = [[NSMutableData alloc] init]; 

फिर इसे जारी: उदाहरण के लिए:

[receivedData release]; 
receivedData = nil; 
+0

हाँ, यही समस्या है। मूल रूप से मैंने सोचा कि यह शून्य है, यह त्रुटि की रिपोर्ट करेगा। बहुत बहुत धन्यवाद। – BlueDolphin

+1

उद्देश्य-सी में संदेशों को शून्य भेजने के लिए कानूनी है, इसलिए वहां कोई त्रुटि नहीं है। – Abizern

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