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

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

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

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

Q&A

解決済

1回答

115閲覧

クラスが登録できない

takuma1122345

総合スコア13

Swift

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

0グッド

0クリップ

投稿2019/03/27 04:43

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

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

Thread 1: signal SIGABRT

該当のソースコード

class people {

var name : String var age : Int var profile : String var profileImage : UIImage! init(){ self.name = "" self.age = 0 self.profile = "" self.profileImage = UIImage(named: "plus.jpg") } func setname(name:String){ self.name = name }

}
var todoList = people

@IBAction func doneButtonCliceked(_ sender: Any) { let p = people() p.setname(name: textView.text!) todoList.insert(p , at:0) UserDefaults.standard.set(todoList, forKey: "todoValue") //このUserDefaultsの部分でえらーが出る self.textView.resignFirstResponder() dismiss(animated: true, completion: nil) ```ここに言語名を入力

swift10 xcode4.0

### 試したこと todoListがnilになっていないかの確認とsetメソッドの定義確認 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

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

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

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

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

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

fuzzball

2019/03/27 05:03 編集

不要な文章(テンプレなど)は削除して下さい。
stdio

2019/03/27 05:03

Swiftの場合優秀なログ出力が存在しますのでそちらで調べてみてはいかがでしょうか?
guest

回答1

0

ベストアンサー

UserDefaults set(_:forKey:) Discussionより

The value parameter can be only property list objects: NSData, NSString, NSNumber, NSDate, NSArray, or NSDictionary. For NSArray and NSDictionary objects, their contents must be property list objects. For more information, see What is a Property List? in Property List Programming Guide.

【Google翻訳】valueパラメータは、プロパティリストオブジェクト(NSData、NSString、NSNumber、NSDate、NSArray、またはNSDictionary)のみになります。 NSArrayおよびNSDictionaryオブジェクトの場合、それらの内容はプロパティリストオブジェクトでなければなりません。 詳細については、『プロパティリストプログラミングガイド』の「物件リストとは」を参照してください。

つまり、独自クラス(の配列)はUserDefaultsにsetできません。

投稿2019/03/27 09:54

dsuzuki

総合スコア1682

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問