Je personnalisation des lignes d'un UIPickerView, donc je suis mise en œuvre de la méthode viewForRow dans elle est délégué comme suit:Cocoa-Touch: gestion de la mémoire
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
if (view) {
return view;
} else {
NSString *s = [datePickerValues objectAtIndex:row];
UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 44)];
l.text = s;
l.font = [UIFont boldSystemFontOfSize:18];
l.textAlignment = UITextAlignmentCenter;
l.backgroundColor = [UIColor purpleColor];
[l autorelease];
return l;
}
}
Je suis nouveau à Obj-C.
Depuis que je suis aloc/initing l, je suis supposé le libérer aussi selon le guide de gestion de la mémoire. Cependant, je dois aussi le retourner. Est autoreleasing-il OK?
Vous pouvez raser une ligne de votre code avec return [l autorelease]; – pxl
Soit cela ou amoindrir la autorelease dans le cadre de l'alloc/init – Lounges