У меня есть функция рисования линий, отредактированная ниже. Похоже, что в симуляторе все работает нормально, однако есть проблемы с производительностью, линии медленно рисуются, когда работают как на старом iPhone (2011), так и на более новом iPad (2014). Я считаю, что этот вопрос связан с созданием нового CGContext для каждого касаний Полученного события.Производительность чертежа с помощью Swift в Xcode для приложения iOS
Как можно, например, назвать пусть контекст = UIGraphicsGetCurrentContext() раз, когда touchesBegan? (т. е. как я могу сделать контекст общедоступной переменной, которую можно вызывать один раз?)
Любые другие советы по улучшению производительности будут оценены. Спасибо.
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
autoreleasepool {
UIGraphicsBeginImageContextWithOptions(view.frame.size, false, 0.0)
let context = UIGraphicsGetCurrentContext()
...
...
...
UIGraphicsEndImageContext()
}
}
Не могли бы вы просто создать контекст переменной уровня? –
Спасибо за комментарий. Не могли бы вы вкратце объяснить, что вы имеете в виду, создав «контекст» как «переменную уровня класса»? Спасибо. – user4806509