#swift
#swift
Вопрос:
Я пытаюсь настроить кнопку «Поделиться» с момента, когда я ее ранее кодировал. Должно быть, мне чего-то не хватает, но я не уверен, чего. Вы можете помочь? Это на другом контроллере представления, отличном от основного.
import UIKit
class MoreViewController: UIViewController, UITabBarDelegate, UITextFieldDelegate {
@IBAction func shareKnockingBuddy(_ sender: AnyObject) {
let messageToSend = "Here is a message. (doorsKnocked)"
let vc = UIActivityViewController(activityItems: [messageToSend], applicationActivities: nil)
self.present(vc, animated: true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
Вот моя ошибка: в делегате приложения это «Поток 1: signal SIGABRT». В сообщении внизу написано «* Завершение работы приложения из-за неперехваченного исключения ‘NSInvalidArgumentException’, причина: ‘-[UIViewController shareKnockingBuddy:]: нераспознанный селектор, отправленный в экземпляр 0x7fe282c02eb0’ * Первый стек вызовов throw:»
Ответ №1:
Обратите внимание, что ошибка связана с UIViewController, а не с вашим классом MoreViewController. Это означает, что вы не установили правильное имя класса для контроллера представления в вашей раскадровке. Измените ее на MoreViewController.
Комментарии:
1. Да, я совершенно уверен, что вы правы. Я довольно новичок в этом, но как мне убедиться, что я правильно установил class? Я думал, что уже сделал это, но, возможно, я что-то упустил. Спасибо!
2. Вот где я изначально установил класс. imgur.com/a/ZJnex Нужно ли мне установить его еще где-нибудь? Я создал это как файл Swift, а не как файл cocoa, может быть, в этом проблема?
3. Так и должно быть. Теперь, когда он установлен, вам, возможно, потребуется повторно подключить действия.
4. Я попытался повторно подключить действия, и это все еще не сработало. Вот ошибка, которую он продолжает мне выдавать. imgur.com/a/xXm4T Я действительно в замешательстве.
5. Это та же ошибка, которая означает, что вы еще не исправили контроллер представления.