Objective-C/მეხსიერების მართვა

ვიკიწიგნებიდან
Jump to navigation Jump to search

თუ თქვენ ქმნით პროგრამას Mac OS X-თვის, თქვენ გაქვთ საშუალება გააქტიუროთ მეხსიერების ავტომატური გამსუფთავებელი. ეს ნიშნავს, რომ თქვენ არ გიწევთ ფიქრი მეხსიერების მართვაზე. თუმცა შესაძლოა თქვენმა პროგრამამ ვერ იმუშაოს გარემოში რომელსაც არა აქვს მეხსიერების ავტომატური გასუფთავების საშულაება, მაგალითად iPhone-ის პლატფორმას. ასეთ შემთხვევაში უნდა იცოდეთ რამოდენიმე საბაზისო ცნება.

თუ თქვენ ქმნით ობიექტს ხელით, alloc მეთოდის გამოყენებით, თქვენ ხართ პასუხისმგებელი ამ ობიექტის მოგვიანებით გაფუთავებაზე. თქვენ არ უნდა გაასფთაოთ ავტორელიზირებადი ობიექტი, წინააღმდეგ შემთხვევაში თქვენი პროგრამა ამოვარდება.

აი ორი მაგალითი:

 
// string1 ავტომატურად გასუფთავდება
NSString* string1 = [NSString string];

// string2 უნდა გაასუფთაოთ, როდესაც მას გამოიყენებთ
NSString* string2 = [[NSString alloc] init];
[string2 release];

ჩვენ კიდევ დაუბრუნდებით მეხსიერების მართვას მოგვიანებით.