Koda: |
@property (nonatomic, [b]retain[/b]) NSDictionary *myData; |
in ga potem alociraš kot:
Koda: |
SBJSON *json = [SBJSON new]; NSError *error; myData = (NSDictionary *)[json objectWithString:data error:&error]; |
bi ga moralo avtomatsko retain-at. Right? Zgornjo kodo kličem v viewDidLoad. Ko hočem kasneje dostopati do tega property-a javi napako, ker je spomin očitno bil sproščen. Če kličem retain je pa ok. Malo me bege glede tega, da ne bi mel kakih memory leakov.
Pa kako je npr. če alociraš NSString v funkciji in ga vrneš kot rezultat. To je treba potem nekje zunaj klicati release? Right? Recimo nekaj takega:
Koda: |
- (NSString *) loadTrenutnoStanje{ NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString: @"http://www.domena.com/json.php] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; NSURLResponse *response; NSError *error; NSData *data = [NSURLConnection sendSynchronousRequest:theRequest returningResponse: &response error: &error]; return [[NSString alloc] initWithData: data encoding: NSASCIIStringEncoding]; } |
Pa še ena epovezana. Kako NSLabel-u v Interface Builderju nastaviš velikost fonta? Če povečem min size se poveča, pomanjša pa ne. Z resizanjem se pa tudi ne pomanjša.
[/code]