実現したいこと
Realmに保存してある要素を文字連結させたいです。
以下のソースコードは例ですが、何度か保存ボタンを押した後、結合ボタンを押すと「こんにちはこんにちはこんにちは」のように文字が連結されます。これをもっと簡潔に書ける方法がないか考えています。
発生している問題
下のソースコードの、for文で配列に追加したあとで結合する方法で、一応実装できたのですが、量が多くなると回りくどい方法のように感じるので、map関数やArray()を用いて書き換えられないか考えていますが、良い方法が見つかりませんでした。
該当のソースコード
swift
1import UIKit 2import RealmSwift 3 4class Task: Object { 5 @objc dynamic var taskTitle: String = "" 6 let tickets = List<Ticket>() 7} 8 9class Ticket: Object { 10 @objc dynamic var ticketTitle: String = "" 11} 12 13class ViewController: UIViewController { 14 15 16 override func viewDidLoad() { 17 } 18 //保存ボタン 19 @IBAction func saveButtonPressed(_ sender: UIButton) { 20 do { 21 let realm = try Realm() 22 let dictionary: [String: Any] = 23 ["taskTitle": "こんにちは"] 24 25 let task = Task(value: dictionary) 26 27 try! realm.write { 28 realm.add(task) 29 } 30 } 31 catch { 32 print(error) 33 } 34 } 35 //結合ボタン 36 @IBAction func joinButtonPressed(_ sender: UIButton) { 37 do { 38 let realm = try Realm() 39 var Array = [String]() 40 let results = realm.objects(Task.self) 41 for i in 0..<results.count { 42 Array.append(results[i].taskTitle) 43 } 44 let joindArray = Array.joined() 45 print(joindArray) 46 } 47 catch { 48 print(error) 49 } 50 } 51} 52 53
試したこと
上のコードで、一応欲しい結果は得られましたがもっと簡潔に書ける方法はないか試行錯誤してます。またStackoverflowで解決策を探しました。
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー