Я довольно новичок в Objective C для iPhone, поэтому я надеюсь, что вы не убьете меня за простой вопрос.
Я сделал приложение, которое отлично работает, за исключением того, что Instruments сообщает об утечках памяти из класса ниже. Я использую его для хранения настроек из одного класса, а затем извлекаю их из другого класса. Эти настройки хранятся в файле, поэтому их можно получать при каждом запуске приложения.
Что я могу сделать, чтобы освободить «настройки», и есть ли что-нибудь, что можно сделать, чтобы вызвать (использовать) класс более разумным способом?
Спасибо
----- Below is Settings.m -----
#import "Settings.h"
@implementation Settings
@synthesize settings;
-(NSString *)dataFilePath // Return path for settingfile, including filename
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:kUserSettingsFileName];
}
-(NSMutableArray *)getParameters // Return settings from disk after checking if file exist (if not create with default values)
{
NSString *filePath = [self dataFilePath];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) // Getting data from file
{
settings = [[NSMutableArray alloc] initWithContentsOfFile:filePath];
}
else // Creating default settings
{
settings = [[NSMutableArray alloc] initWithObjects:
[NSNumber numberWithInteger:50],
[NSNumber numberWithInteger:50],
nil];
[settings writeToFile:[self dataFilePath] atomically:YES];
}
return settings;
}
----- Below is my other class from where I call my Settings class -----
// Get settings from file
Settings *aSetting = [[Settings alloc] init];
mySettings = [aSetting getParameters];
[aSetting release];