Я получаю следующее сообщение об ошибке:[SearchStockCell сохраняют]: сообщение, отправленное высвобождены например
SearchStockCell retain]: message sent to deallocated instance 0x7f9fa1922c00
, но я с трудом трассировку вопрос, потому что всякий раз, когда я профиль с зомби, он останавливается без предупреждения или ошибка (2-3 секунды).
Я использую область для этого проекта и синтаксический анализ данных выполняется в background.Not уверен, что если эта информация актуальна.
Есть ли способ отслеживать это? или я могу использовать слабый для ячейки таблицы?
Обновлено
class SearchStockCell: SSBaseTableCell {
@IBOutlet var symbolLabel: UILabel!
@IBOutlet var marketLabel: UILabel!
@IBOutlet var priceLabel: UILabel!
var stock: StockInfo? {
willSet{ "About to step to \(newValue)"
if let aStock = newValue {
// add KVO on newValue
aStock.addObserver(self,
forKeyPath: "price",
options: NSKeyValueObservingOptions.New,
context: nil)
aStock.addObserver(self,
forKeyPath: "change",
options: NSKeyValueObservingOptions.New,
context: nil)
}
}
didSet { "Just stepped from \(oldValue)"
if let aStock = oldValue {
// remove KVO on old value
aStock.removeObserver(self, forKeyPath: "price")
}
if let aStock = oldValue {
// remove KVO on old value
aStock.removeObserver(self, forKeyPath: "change")
}
self.configureCell()
}
}
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if keyPath == "price" {
self.updatePrice()
}
if keyPath == "change" {
self.updateChange()
}
}
.... ... .. .
Код кода был найден в SearchStockCell. Я буду пожара API для обновления моих видимых ячеек (он обновит мое царство), который позже предложит изменения в SearchStockCell KVO. Обратите внимание, что я не могу перезагрузить таблицу снова, потому что мне нужно поддерживать позицию tableview, и в ней есть тысячи строк данных.
Можете ли вы добавить код, связанный с SearchStockCell –
Почему вы все еще используете 'keep' в 2016 году? –
@evgeny Я не использую удержание. Ошибка при сбое говорит о том, что в цикле удержания –