gpt4 book ai didi

ios - block 内的强弱。我该如何处理这个问题?

转载 作者:行者123 更新时间:2023-11-28 21:41:53 26 4
gpt4 key购买 nike

我有一个表格 View ,与 stackoverflow 非常相似,用户可以选择最佳答案。

我有一个 *answerContainers 的 NSMutableArray,其中包含一个 Answer 对象。

假设这个问题有 10 个答案。提出问题的用户选择第三个答案作为最佳答案。

我发起调用以将答案标记为服务器上的最佳答案,结果是更新后的 Answer 对象,我想在我的完成 block 中操作它。

所以它看起来像这样......

- (void)selectBestAnswer {
for (AnswerContainer *answerContainer in self.answerContainers) {
if (answerContainer.selected) { //can only be 1 selected
Answer *answer = answerContainer.answer;
QuestionDetailTableViewController * __weak weakSelf = self;
[answer markAsBestAnswer:^(BOOL success, id responseObject, NSInteger statusCode, NSArray *messages, NSArray *errors) {
if (success) {
QuestionDetailTableViewController *strongSelf = weakSelf;
Answer *answer = [Answer instanceFromDictionary:responseObject];

[strongSelf replaceAnswerWithAnswer:answer];

[strongSelf reloadTableView];
}
}];
}
}
}

这是我的问题

1) 我是否应该让我的弱者成为整个 Controller ,像这样。还是您通常只针对 answerContainer 执行此操作?

最佳答案

把所有“弱”的东西扔掉。只有在非常特殊的情况下才需要它,即 block 保留 self 并且 self 保留 block ,从而导致保留循环,从而导致 self 泄漏稍后的。您不属于那种情况,所以根本不要使用“弱-强舞蹈”。

关于ios - block 内的强弱。我该如何处理这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31751724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com