質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
TableView

TableView(UITableView)とは、リスト形式で表示するコントロールで、ほとんどのアプリに使用されています。画面を「行」に分けて管理し、一般的には各行をタップした際に詳細画面に移動します。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

0回答

802閲覧

class AppDelegate: UIResponder, UIApplicationDelegate にThread 1: signal SIGABRTが表示される

VanS

総合スコア7

TableView

TableView(UITableView)とは、リスト形式で表示するコントロールで、ほとんどのアプリに使用されています。画面を「行」に分けて管理し、一般的には各行をタップした際に詳細画面に移動します。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/07/29 03:20

編集2020/07/29 08:45

イメージ説明### 前提・実現したいこと

この度、⬇︎のサイトを真似しながらアプリケーションを作ろうとしているのですが、
https://blog.codecamp.jp/programming-iphone-app-development-todo

シュミレータを実行した際に、アプリは開くのですが、+ボタンを押した際に
class AppDelegate: UIResponder, UIApplicationDelegate にThread 1: signal SIGABRTが表示されて何もわからず困っています。

発生している問題・エラーメッセージ

class AppDelegate: UIResponder, UIApplicationDelegate にThread 1: signal SIGABRTが表示されます

該当のソースコード

Swift

1<<<viewcontoroller>>> 2 3import UIKit 4 5class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { 6 7 @IBOutlet weak var tableView: UITableView! 8 9 var tasks : [Task] = [] 10 11 override func viewDidLoad() { 12 super.viewDidLoad() 13 14 tableView.dataSource=self 15 tableView.delegate=self 16 // Do any additional setup after loading the view. 17 } 18 19 20 override func viewWillAppear(_ animated: Bool){ 21 getData() 22 tableView.reloadData() 23 } 24 25 26 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 27 return tasks.count 28 } 29 30 31 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 32 let cell = UITableViewCell() 33 let task = tasks[indexPath.row] 34 35 if task.isImportant{ 36 cell.textLabel?.text="♦️"+task.name! 37 }else{ 38 cell.textLabel?.text=task.name! 39 } 40 return cell 41 } 42 43 func getData(){ 44 let 45 context=(UIApplication.shared.delegate as! 46 AppDelegate).persistentContainer.viewContext 47 48 do{ 49 tasks=try context.fetch(Task.fetchRequest()) 50 } 51 catch{ 52 print("読み込み失敗!") 53 } 54 } 55 56 func tableView(_ tableView: UITableView, commit editingStyle:UITableViewCell.EditingStyle,forRowAt indexPath:IndexPath){ 57 let context = (UIApplication.shared.delegate as! 58 AppDelegate).persistentContainer.viewContext 59 if editingStyle == .delete{ 60 let task = tasks[indexPath.row] 61 context.delete(task) 62 (UIApplication.shared.delegate as! AppDelegate).saveContext() 63 do{ 64 tasks = try context.fetch(Task.fetchRequest()) 65 } 66 catch{ 67 print("読み込み失敗!") 68 } 69 } 70 tableView.reloadData() 71 } 72 73} 74 75 76 77 78<<<AddTaskViewController>>> 79 80 81import UIKit 82 83class AddTaskViewController: UIViewController { 84 85 @IBOutlet weak var textField: UITextField! 86 @IBOutlet weak var isImportant: UISwitch! 87 88 override func viewDidLoad() { 89 super.viewDidLoad() 90 91 // Do any additional setup after loading the view. 92 } 93 94 @IBAction func btnTapped(_ sender: Any) { 95 96 let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext 97 98 let task = Task(context: context) 99 task.name = textField.text! 100 task.isImportant = isImportant.isOn 101 102 (UIApplication.shared.delegate as! AppDelegate).saveContext() 103 navigationController!.popViewController(animated: true) 104 } 105 106 107

試したこと

似たような質問をしていた方がいたので、再起動などしてみました

補足情報(FW/ツールのバージョンなど)

Xcode Version 11.2 (11B52)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TsukubaDepot

2020/07/29 08:18

テキスト通りに作れば「+ボタン」は Navigation Controller で管理されているのでそのようなエラーが出る可能性は無いと思いますが、どこか間違っているということはありませんでしょうか。
VanS

2020/07/29 08:25

+ボタンとは直接は関係ないかもしれないんですね。。。ただ、エラーが出るのがそのタイミングなのでなにもわからず終いになってます...
TsukubaDepot

2020/07/29 08:33

StoryBoard で navigationController を追加し、「+ボタン」から遷移先にドラッグして「show」を選択したのであれば、「+ボタン」を押したときの操作についてコードで記述する部分は一切ありませんし(コードで書けばエラーを招く可能性はあります)、遷移も自動的に行われるのでミスが入り込む余地は少ないかと思います。 ちなみに、「+ボタン」を押したら次画面に遷移しますでしょうか。 また、次画面(AddTaskViewController.swift)のコードをご質問本文に追加していただけないでしょうか。
TsukubaDepot

2020/07/29 08:43

追加していただいたコードを確認し、試しにこちらでも実行してみましたが、何も問題ありませんでした。 たとえば、新たにプロジェクトを作りなおし、StoryBoardの設定は最初からやり直し、コードはそのまま流用(参考にしたページからコピーでもいいと思います)で実行してみてはいかがでしょうか。
VanS

2020/07/29 08:46

そうでしたか。。。実は別のお方のtodoアプリも真似させていただいたところ同じところに同じエラーが出てしまいました... もう一度試してみます。。。!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問