ユガラボyugalabpleasuresubculturetechnicalothertechnical【Swift】プロジェクト内に置いたpng画像をNSDataとして取り出すこんにちは、ユーリです!お仕事でSwift使い始めたので、Swift関連の備忘録を書いていきます。png画像を簡単に取り出す方法について。メルストの記事じゃなくてゴメンナサ...今回は、プロジェクトファイル内にリソース画像などを格納するbundleファイルを設置し、そこから画像を吸い出す方法で行きたいと思います。bundleの作成から。以下の作業を行う前に、ファイルの拡張子を表示するモードにしておいてください。bundleの作成プロジェクトのフォルダをFinderで開き、おもむろに新規フォルダを作成します。フォルダができたら、名前を「***.bundle」に変更します。今回は「resources.bundle」にしましょう!すると「まじ?」と聞かれるので「あたぼうよ」と答えます。フォルダの拡張子がbundleに変わり、アイコンも変わりました。空のbundleファイルができました!今度は、bundleファイルをプロジェクトに追加します。...」でプロジェクトにファイルを追加します。先ほど作成したbundleファイルを選択します。プロジェクトにbundleファイルが追加されました!これ以降は、FinderからXcode内のbundleファイルに直接ドラッグ&ドロップで、プロジェクト内で取り扱いたいpng画像を取り込むことができます。試しに、画像を一点ドラッグして追加してみます。こんな画像があったとして。ドラッグすると、追加されます。次は、いよいよこの画像を呼んでみます。bundleからpng画像を呼ぶ先にソースを張ってしまいますが、png画像を呼ぶ為の関数はこちらです。拡張子[png]は省略。存在しなければnilを返す。新しくUtil.swiftというファイルを作り、その中に置いてみます。Fileを選び、Swiftファイルを選びます。名前をつけて、プロジェクトのグループ内に配置しましょう。新しいSwiftファイルができたら、その中に先ほどのソースを貼り付けます。以下のように、拡張子(png)を抜かしたファイル名で呼び出します。画像が存在しない場合はnilが返るので、無かった場合の処理も考えておきましょう。こちらの例では、返ってきたNSDataを利用してUIImageを生成しています。"bundle")!まず、こちらの行はプロジェクト内から「resources」という名前をbundleのパスを生成しています。プロジェクト内にresourcesというbundleが無いと大変なことになります。bundlePath)!次に、bundleのパスからbundleのインスタンスを得ます。"png"){そして、bundle内に指定した名前のpng画像があるかどうか調べています。imageDataそして、画像があった場合は読み込んで、NSDataとして返します。>>スポンサーリンクtechnical【備忘録】Xcodeの実機テストで、ログが出力されなくなったこんにちは。Xcodeでのコーディング中のこと。いうことがありました。**toolsサイト内検索:toolメルスト祈り計算tool有志追加版データベースtoolエンデュア(ゾンビ)計算機ユガラボの更新をツイートでお知らせ。23:05質問失礼します、スカジィウスさんのピックアップはもう来ないのでしょうか。00:25更新ありがとうございます!毎度毎度楽しく拝読しております。13:23更新お疲れさまです。毎度楽しく読ませていただいております。頭領が棟梁に誤変換さ...管理人のコメント返信についていつもユガラボをご利用くださいまして、誠にありがとうございます。記事へのコメントについて、管理人ユーリからの返信については、赤帯の記事(Subcultureカテゴリ)については控えさせて頂いております。(ただし、誤植のご指摘に伴う修正報告についてはコメント致します)青帯の記事(otherカテゴリ、日記系)についてはなるべく返信できるよう努力いたします。_)mコメント欄については利用者様の情報交換の場としても活用いただけますと嬉しいです。@yugalab以前はここに本人の写真(後ろ姿)を貼ってたんですけど、さすがに古くなったのでやめました。2018年からtwitterはじめました。オフィシャルビジュアルワークス4、まもなく発売です!当サイトはリンクフリーです。当サイトで使用している画像等の著作権は、すべて権利者様に帰属します。何かございましたら、権利者様ご本人よりご連絡をお願い致します。