Ich bin ziemlich neu in Objective C für das iPhone, also hoffe ich, dass Sie mich nicht töten für eine einfache Frage.
Ich habe eine App erstellt, die gut funktioniert, außer dass Instruments Speicherlecks von der folgenden Klasse meldet. Ich verwende sie, um Einstellungen von einer Klasse zu speichern und sie dann von einer anderen Klasse abzurufen. Diese Einstellungen werden in einer Datei gespeichert, damit sie jedes Mal abgerufen werden können, wenn die App ausgeführt wird.
Was kann ich tun, um die "Einstellung" aufzuheben, und gibt es irgendetwas, das getan werden kann, um die Klasse auf intelligentere Weise aufzurufen (zu verwenden)?
Danke
----- 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];