【发布时间】:2017-03-02 05:40:20
【问题描述】:
我希望创建一个不需要消费者手动释放对象的对象池。相反,每次请求一个新对象时,它都会检查池中的所有对象以查看它们的保留计数是否为 1(仅由池拥有)。如果是,则返回它。
需要多少技巧才能使这个总体计划生效?
示例: 我知道一些无法释放的 NSString 的保留计数始终为 -1,并且标记的指针无法被释放(我也不希望它们在对象中水池)。不属于基本集合(NSString、NSArray、NSDate 和其他一些)的类,例如UIView,对保留的优化较少,因此保留计数更可靠?
【问题讨论】:
标签: ios objective-c swift pool nsautoreleasepool