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

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

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

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Xcode

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

3271閲覧

得られた値をiPhone上に記録する方法

okoy

総合スコア7

保存

保存(save)とは、特定のファイルを、ハードディスク等の外部記憶装置に記録する行為を指します。

Xcode

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2016/07/26 08:22

プログラミング超初級者です。
市販のiPhoneアプリ入門書を読み、モーションセンサーの測定値表示アプリを作りました。
###前提・実現したいこと
iPhoneを持ち歩いて加速度のデータ収集をしたいと考えています。
現在のところ、加速度センサの値を表示することは出来るのですが、それらを記録して保存する方法がわかりません。
最終的にはMacにiPhoneを繋ぎ、値のデータを取り出したいと考えています。

恐縮ですが、何かヒントやアドバイスを頂ければ幸いです。
よろしくお願い致します。

###該当のソースコード

//デバイスモーションセンサーで定期的に実行するメソッド func motionAnimation(motionData:CMDeviceMotion?, error:NSError?){ if let motion = motionData{ //加速度センサー //x軸方向 var accelX = motion.userAcceleration.x accelX = round(accelX*1000)/1000 xAccelLabel.text = String(accelX) //y軸方向 var accelY = motion.userAcceleration.y accelY = round(accelY*1000)/1000 yAccelLabel.text = String(accelY) //z軸方向 var accelZ = motion.userAcceleration.z accelZ = round(accelZ*1000)/1000 zAccelLabel.text = String(accelZ) //配列作成 var res = Array<Double>() res.appendContentsOf([accelX,accelY,accelZ]) print(res) } }

###試したこと
配列を作成することまではできたのですが、そこから先が分からず止まっております。
NSUserDefaultsで保存することを考えたのですが、NSUserDefaultsではアプリ固有の設定値を保存することに特化したクラスと理解し、データ数の多くなる今回の場合に適していないと考えています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

.csvとかどうですか?
「ios csv」でググればやり方は見つかると思います。

投稿2016/07/26 08:48

fuzzball

総合スコア16731

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

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

okoy

2016/07/27 09:46 編集

ご回答ありがとうございます。 調べたところ、下記のサイトが参考になりそうだと思ったのですが、力不足でまだよくわかっておりません。もし可能でしたら、やり方についてのサイトやアドバイスをもう一度ご指摘いただければ幸いです。 http://hit.hatenablog.com/entry/2015/10/18/175931
fuzzball

2016/07/27 09:49

一度やってみてから分からないところを質問していただけると幸いです。
okoy

2016/07/28 07:13

失礼致しました。http://qiita.com/kobaboy/items/1d8a5c01baf299a8573b 上記のサイトにあります、CSVの文字列を作成する(以下のコード参照) func toCSV(a: [[String]]) -> String { return join("\n", a.map { join(",", $0.map { e in contains(e) { contains("\n\",", $0) } ? "\"" + e.stringByReplacingOccurrencesOfString("\"", withString: "\"\"", options: nil, range: nil) + "\"" : e })}) + "\n" } を参考にしましたが、エラーになってしまいました。StringではなくDoubleのままでcsvにすることは可能でしょうか? 何度も申し訳ないのですがよろしくお願い致します。
fuzzball

2016/07/28 07:59 編集

csvはテキストファイルですからStringじゃないとダメです。(というのは理解できるでしょうか?) 上記のコードはSwift1用ですので手直しするか(私には無理です)、Swift2用のサンプルを探して下さい。 csvはカンマ区切りのただのテキスト(文字列)ですから、自作するのもそれほど難しくないとは思いますが。
okoy

2016/07/28 11:14

お答えいただきありがとうございます。csvの特性について理解が未熟でした。 Swift2のサンプルを探してみます。
fuzzball

2016/07/28 12:57 編集

csv化(テキスト化)に関して言えば、今回の場合は参考記事のような難解なコードを書く必要はありません。数値をカンマ区切りにすればいいだけですから、 let csv = "\(accelX),\(accelY),\(accelZ)\n" print(csv) これでデータ1セット分のcsvが出来ます。 あとは、データの数だけ繋いでいけばいいです。
okoy

2016/07/29 05:23

何度もお答えいただき感謝します。 次はcsvを保存する方法について調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問