слабый или сильный для 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 с дугой?

Ответы на вопрос(2)

Ваш ответ на вопрос