質問: UserDefaults.standard //iosアプリ内にデータを保存する方法の一つ settings.setValue(settingArray[row], forKey: settingKey) //選択された秒数を保存している。20秒で設定しても、デフォルトの10秒のまま。 settings.synchronize() //現状不要(メソッドを呼び出さないと保存されない為、必要だった) } } ``` ### 使用している言語 swift Xvode 11.4 ご教授のほど、よろしくお願い致します。
回答: `dataSource`そのものの意味については、Tetsukickさんが書かれている通りです。 一方、ご質問の「`dataSource`の設定を削除しても動く理由」ですが、それを裏付けるような明確なドキュメントなどは私が調べた限り見つかりませんでした。いくつかの条件下では設定していなくても動くようです。 実験的なコードを書いて試した範囲で分かったことは * `dataSource`が設定されていない場合(値が`nil`の場合)は、`delegate`で設定されたクラスを参照する * `delegate`が`nil`の場合はそもそも動かない ということ程度でした。 ただし、基本としては`dataSource`を設定するということに落ち着くと思いますから、いまはそれ以上深く考えないほうがいいと思います。