Hey, I’m a beginner in Objective C, and my .NET and Java years have rusted my memory management skills, so it’s very likely I’m missing something here.
I am building an iPad app. The main view is a SplitView with a TableView on the left, and the detail view contains another TableView. The loading of the latter with data has been commented out in an attempt to single out my problem.
The app seems to work fine (has to fetch data from a .NET WS and parse it into the table), but at random times I receive a BAD_ACCESS or a “selector not recognized” errors.
The selector not recognized error I get here:
-(void) connection:(NSURLConnection *) connection
didReceiveResponse:(NSURLResponse *) response {
[webData setLength: 0];
}
This piece of code I’m sure most of you know about, I got it from all samples I found online and in books to send a web request.
Beats me why it says it does not recognize the setLength selector, webData is defined as
NSMutableData *webData;
Any ideas?
Thanks.
If you do not allocate your webData object either with
or
then the webData object will most likely be autoreleased during one of the context switches from the NSURLConnection message that you allocated it in (probably
connection:didReceiveData:) to theconnection:didReceiveResponse:message.Any object that you do not
allocor explicitlyretainis likely to be deallocated during scope changes, even if it is a member variable of your class.