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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

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

Q&A

1回答

2308閲覧

collectionViewに画像がnilで入ってしまいます。。。

aild_arch_bfmv

総合スコア11

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

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

0グッド

0クリップ

投稿2015/10/27 01:56

編集2022/01/12 10:55

###前提・実現したいこと
SwiftのUICollectionViewにURLから取得してきた画像を表示させたいです。

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

以下のようにnilが代入されてしまいます。

イメージ説明

###ソースコード

swift

1 func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 2 3 let cell : collectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("MyCell", forIndexPath: indexPath) as! collectionViewCell 4 var error: NSError? 5 6 var imagePath = collection_img[indexPath.row] as! String 7 var imagePathUrl = NSURL(string: imagePath) 8 var imageData = NSData(contentsOfURL: imagePathUrl!) 9 cell.image?.image = UIImage(data: imageData!) 10 return cell 11 }

collection_imgは以下の通りに入っております。

[ "http://xxxxx1.png", "http://xxxxx2.png", "http://xxxxx3.png", "http://xxxxx4.png" ]

###補足情報(言語/FW/ツール等のバージョンなど)
xcode6.4を使用しております。

以下で試しても同じnilが表示される結果でした。

swift

1 func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 2 3 let cell : collectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("MyCell", forIndexPath: indexPath) as! collectionViewCell 4 var error: NSError? 5 6 let imagePathUrl = NSURL(string: "http://k.yimg.jp/images/top/sp2/cmn/logo-ns-131205.png") 7 var error: NSError? 8 var imageData = NSData(contentsOfURL: imagePathUrl!) 9 cell.image?.image = UIImage(data: imageData!) 10 return cell 11 } 12

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

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

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

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

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

guest

回答1

0

swift

1let imagePathUrl = NSURL(string: "http://k.yimg.jp/images/top/sp2/cmn/logo-ns-131205.png") 2print("url=\(imagePathUrl)") 3let imageData = NSData(contentsOfURL: imagePathUrl!) 4print("data=\(imageData?.length)") 5let image = UIImage(data: imageData!) 6print("image=\(image)")

これの結果を教えて下さい。

投稿2015/10/27 03:56

fuzzball

総合スコア16731

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

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

aild_arch_bfmv

2015/11/02 06:28

遅くなり申し訳ありません。 ダミーのURLの画像が表示できたことで、表示する方法が違うのかなと思い、別の方法をしたところ解決することができました。 ``` func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { let cell : collectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("MyCell", forIndexPath: indexPath) as! collectionViewCell var error: NSError? var image_path = collection_img[indexPath.row] as! String var path_url = NSURL(string: image_path) var image_data = NSData(contentsOfURL: path_url!) var image = UIImage(data: image_data!) let iv = UIImageView(image: image) cell.addSubview(iv) } ``` アドバイスいただいたことで、解決できました。 ご協力いただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問