ho usato un po 'di codice sorgente:Assegnazione di un oggetto mantenuto a una proprietà debole; oggetto verrà rilasciato dopo l'assegnazione
KGModalContainerView *containerView =
self.containerView =
[[KGModalContainerView alloc] initWithFrame:containerViewRect];
Mi dà: Assigning retained object to weak property; object will be released after assignment
edit:
@interface KGModal()
@property (strong, nonatomic) UIWindow *window;
@property (weak, nonatomic) KGModalViewController *viewController;
@property (weak, nonatomic) KGModalContainerView *containerView;
@property (weak, nonatomic) UIView *contentView;
@end
KGModalContainerView *containerView =
self.containerView =
[[KGModalContainerView alloc] initWithFrame:containerViewRect];
containerView.modalBackgroundColor = self.modalBackgroundColor;
containerView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin;
containerView.layer.rasterizationScale = [[UIScreen mainScreen] scale];
contentView.frame = (CGRect){padding, padding, contentView.bounds.size};
[containerView addSubview:contentView];
[viewController.view addSubview:containerView];
Non ci sono abbastanza informazioni per rispondere alla tua domanda. Come viene definito 'self.containerView'? 'KGModalContainerView' è compilato con ARC? – trojanfoe
modifica la mia domanda, sto usando ARC – pengwang
Davvero hai davvero due compiti in una riga? Cosa succede se non lo fai? Perché devi assegnare a un 'containerView' * e * locale a una proprietà' self.containerView'? Qual è il punto di ciò che dovrebbe essere? – matt