मैं मेरी कक्षा में एक सरल विधि है:उद्देश्य-सी ब्लॉक अभी भी ढेर में कॉपी किए बिना क्यों काम करता है?
- (void)getFormWithBlock:(DataCenterResultBlock)block {
[SomeClass doSomeLongOperationWithParam:someParam
completionBlock:^(NSData *data, NSURLResponse *response) {
//Success
block(aVar, YES);
} errorBlock:^(NSError *error) {
//Failed
block(nil, NO);
}];
}
मैंने पढ़ा है कि आप ढेर करने के लिए ब्लॉक कॉपी चाहिए अगर आप कुछ कर रहे हैं अतुल्यकालिक रूप से, क्योंकि वे ढेर पर आवंटित किए जाते हैं और एक बार कॉल पेड़ rewinds यह चला जाएगा ।
लेकिन यहां, मैं इसे ढेर में कॉपी नहीं कर रहा हूं लेकिन फिर भी मुझे कोई क्रैश नहीं मिलता है। क्यूं कर? धन्यवाद
क्या आप एआरसी का उपयोग कर रहे हैं? – RolandasR
हां मैं एआरसी – 0xSina