слабый или сильный для IBOutlet и других [дубликаты]
This question already has an answer here:
Should IBOutlets be strong or weak under ARC? 11 answersЯ переключил свой проект на ARC, и я не понимаю, нужно ли мне использоватьstrong
или жеweak
для IBOutlets. XCode сделать это: в конструкторе интерфейса, если создатьUILabel
например, и я подключаю его с помощью помощника редактора к моемуViewController
Создайте это:
@property (nonatomic, strong) UILabel *aLabel;
Он используетstrong
вместо этого я прочитал учебник на сайте RayWenderlich, который говорит это:
But for these two particular properties I have other plans. Instead of
strong
, we will declare them as weak
.
@property (nonatomic, weak) IBOutlet UITableView *tableView;
@property (nonatomic, weak) IBOutlet UISearchBar *searchBar;
Weak
is the recommended relationship for all outlet properties.
These view objects are already part of the view controller’s view
hierarchy and don’t need to be retained elsewhere. The big advantage
of declaring your outlets weak
is that it saves you time writing the
viewDidUnload method.
Currently our viewDidUnload
looks like this:
- (void)viewDidUnload
{
[super viewDidUnload];
self.tableView = nil;
self.searchBar = nil;
soundEffect = nil;
}
You can now simplify it to the following:
- (void)viewDidUnload
{
[super viewDidUnload];
soundEffect = nil;
}
Так что используйтеweak
вместоstrong
и удалите набор в ноль вvideDidUnload
вместо Xcode используйтеstrong
и использоватьself... = nil
вviewDidUnload
.
Мой вопрос: когда я должен использоватьstrong
, и когдаweak
?
I want also use for deployment target iOS 4, so when do I have to use the unsafe_unretain
? Любой может помочь объяснить мне хорошо с небольшим учебником, когда использованиеstrong
, weak
а такжеunsafe_unretain
с дугой?