Представление UIActivityViewController, инициируемого изнутри UITableViewCell

Приведенный ниже код работает нормально и представляет UIActivityViewController при помещении внутрь PostsVC (контроллер представления Mian), но выдает ошибку ячейка не имеет члена с именем 'presentViewController' при помещении внутрь действия касания элемента UIButton, который размещается внутри UITableViewCell на том же контроллере представления PostsVC.

Как сослаться на PostsVC в последней строке кода, чтобы представить его?

let appAddress =  "https://itunes.apple.com/app/id978654?ls=1&mt=8"
let shareText = "Share our app "
let activityViewController : UIActivityViewController = UIActivityViewController(activityItems: [shareText, appAddress], applicationActivities: nil)
self.presentViewController(activityViewController, animated: true, completion: nil)

person Kashif    schedule 22.06.2015    source источник


Ответы (1)


Добавьте слабую ссылку на ваш контроллер представления в подклассе вашей ячейки. Установите это в cellForRowAtIndexPath:

cell.viewController = self

Затем вызовите метод presentViewController для cell.viewController, а не для самой ячейки.

person rounak    schedule 22.06.2015
comment
Ошибка в строке cell.viewController = self "ячейка" не имеет члена с именем "viewController" - person Kashif; 22.06.2015
comment
@Kashif да, вам нужно добавить свойство для этого в подкласс вашей ячейки - person rounak; 22.06.2015
comment
Для того, чтобы кто-то еще читал, вы должны сделать weak var parentViewController = UIViewController() в своем подклассе ячейки - person Kashif; 24.06.2015