🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Swift

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

Q&A

1回答

1513閲覧

ニフクラ から画像を複数とってくる

ROKIDOG

総合スコア20

Swift

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

0グッド

0クリップ

投稿2019/11/27 01:49

編集2019/11/27 01:53

ニフクラ というクラウドサービスの中に選んだ複数の画像を保存して、それをまた呼べるようにしたいです。
現在、imageUrlというフィールドを作って一枚は保存できるのですが、これを2枚選んだ時とかに二枚保存できるようにしたいです。
しかし、どうコードを書けば良いのかわからないです。

2枚目の時はimageUrl2というフィールドを作って、そこに2枚目の画像を保存する感じなのかなと思って、postObject?.setObject(url, forKey: "imageUr2")と書いたのですが、同じ画像が、imageUrl2に保存されてしまいます。
どなたかアドバイスいただけると幸いです。

@IBAction func sharePhoto() { SVProgressHUD.show() // 撮影した画像をデータ化したときに右に90度回転してしまう問題の解消 if selectedImages != nil { for resizedImage in selectedImages { UIGraphicsBeginImageContext(resizedImage.size) let rect = CGRect(x: 0, y: 0, width: resizedImage.size.width, height: resizedImage.size.height) resizedImage.draw(in: rect) UIGraphicsEndImageContext() let data = resizedImage.pngData() // ここを変更(ファイル名無いので) let file = NCMBFile.file(with: data) as! NCMBFile file.saveInBackground({ (error) in if error != nil { SVProgressHUD.dismiss() let alert = UIAlertController(title: "画像アップロードエラー", message: error!.localizedDescription, preferredStyle: .alert) let okAction = UIAlertAction(title: "OK", style: .default, handler: { (action) in }) alert.addAction(okAction) self.present(alert, animated: true, completion: nil) } else { // 画像アップロードが成功 let postObject = NCMBObject(className: "Post") if self.postTextView.text.count == 0 { print("入力されていません") return } postObject?.setObject(self.postTextView.text!, forKey: "text") postObject?.setObject(NCMBUser.current(), forKey: "user") let url = "https://mbaas.api.nifcloud.com/2013-09-01/applications/アプリID/publicFiles/" + file.name postObject?.setObject(url, forKey: "imageUrl")//imageUrlに保存される          postObject?.setObject(url, forKey: "imageUr2")//同じ画像が保存されてしまう postObject?.saveInBackground({ (error) in if error != nil { SVProgressHUD.showError(withStatus: error!.localizedDescription) } else { SVProgressHUD.dismiss() self.postImageView.image = nil self.postImageView.image = UIImage(named: "photo-placeholder") self.postTextView.text = nil self.tabBarController?.selectedIndex = 0 } }) }

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

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

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

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

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

guest

回答1

0

Swift

1postObject?.setObject(url, forKey: "imageUrl")//imageUrlに保存される 2postObject?.setObject(url, forKey: "imageUr2")//同じ画像が保存されてしまう

ループの中で動いていますね。同じの「url」を二つのキーに保存してしまいます。コードは書いてある通りですね。1つのイテレーションで一つのファイルを保存すれば?

postObject?.setObject(url, forKey: "imageUrl{N}")//imageUrlに保存される

{N}を適当にループの中でincreamentすれば結構でしょう。

投稿2019/12/02 01:29

vanderlvov

総合スコア687

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問