Пытаясь запустить PHP-скрипт, получите EXC_BAD_ACCESS - PullRequest
0 голосов
/ 28 декабря 2010

Ниже приведен мой код, когда доходит до конца функции, отладчик выдает ошибку EXC_BAD_ACCESS, и когда я проверяю логи сайта, URL никогда не посещался.Если бы кто-нибудь мог помочь мне решить эту проблему, он был бы очень признателен:

-(IBAction)submitEmail:(id)sender
{
    NSString *urlStringRaw = [[NSString alloc] init];
    urlStringRaw = [NSString stringWithFormat:@"http://vedev.org/AnonMail/sendEmail.php?from=%@&to=%@&subject=%@&body=%@", from.text, to.text, subject.text, bodyContent.text];
    NSString *urlString = [urlStringRaw stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    [urlStringRaw release];
    NSURL * url = [NSURL URLWithString:urlString];
    [urlString release];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    [url release];
    NSURLConnection *connection = [NSURLConnection connectionWithRequest:requestObj delegate:nil];
    [connection release];
    [requestObj release];   
}

1 Ответ

2 голосов
/ 28 декабря 2010

Сигнал EXC_BAD_ACCESS означает, что ваше приложение где-то имеет ошибку управления памятью.Это не имеет ничего общего с серверной стороной.Это не так уж удивительно, так как код, который вы опубликовали выше, имеет множество ошибок управления памятью.

Вы должны запустить статический анализатор в вашем проекте - «Построить и проанализировать» в Xcode - и исправить ошибки, которые он помечает.Кроме того, изучите стандартные правила управления памятью Какао;они точно покажут вам, что вы делаете неправильно в коде, который вы опубликовали (и любой другой код в вашем приложении).

Кроме того, важно понимать, что на самом деле представляют собой переменные-указатели - ссылки на объекты, а несами объекты.Например, вы написали это:

NSString *urlStringRaw = [[NSString alloc] init];
urlStringRaw = [NSString stringWithFormat:@"..."];

Почему вы думали, что вам нужно написать первую строку, как вы сделали?

...