gpt4 book ai didi

ios - 为什么app在设置属性时会陷入死循环?

转载 作者:行者123 更新时间:2023-11-28 10:02:32 25 4
gpt4 key购买 nike

1) 这是我定义的自定义 UITableViewCell:

class UserTableViewCell: UITableViewCell {

var ou: OU? {
set(newOU) {

println(newOU)

self.ou = newOU
}
}

2) 我将 NSManagedObject 传递给单元格

let s = sth.filteredSetUsingPredicate(NSPredicate(format: "someAttribute = true"))
let ou: OU = s.anyObject() as OU
cell.ou = ou

3) 它会多次写出这条日志消息,就像应用程序会陷入无限循环一样。

Optional( (entity: OU; id: 0x7a7e3590 ; data: { someAttribute = 1; }))

结论

基本上我只需要一个简单的存储属性,没有任何花哨的东西:

class UserTableViewCell: UITableViewCell {

var ou: OU?
}

最佳答案

发生这种情况是因为您编写的 setter 调用了 setter。 self.ou = ... 再次调用 setter,所以你得到了一个很好的无限递归。只要堆栈持续。

关于ios - 为什么app在设置属性时会陷入死循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25021770/

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