• ベストアンサー

iosの開発 Storyboardのメモリ消費

iosの開発について質問です。 StoryboardでModalな循環移動をすると、どんどんメモリを消費していく、 という問題で悩んでいます。xcodeの画面としては、まさにこれです。 http://twitpic.com/855rzk この問題を現在解決できません。 参考になりそうなサイトか、もしくはご教授していただけないでしょうか。

  • lon79
  • お礼率98% (324/329)

質問者が選んだベストアンサー

  • ベストアンサー
noname#159840
noname#159840
回答No.3

modalというのは、所詮、親の先に、子をつけているだけです。pushとちがうのは、pushは、navigation controller のstackに、view controllerが管理されていること。  で、あなたの場合のように、いろいろなVCで、画面を出して、あとへ、戻っていく必要がない場合は、 segueは、customを使います。 http://blog.jh-lim.com/2011/11/a-short-tutorial-on-custom-storyboard-segues/  いらなくなったvcは、自分で保持していないかぎり、ARC環境ではリリースされるので、とりあえず、上のサイトを参考にやってみては。

lon79
質問者

お礼

適切な回答、ありがとうございます。 参考サイトもとても参考になりました。おかげさまでcustomの画面遷移ができました。

その他の回答 (2)

noname#159840
noname#159840
回答No.2

1 いまの設計でも、実機環境で、didReceiveMemoryWarning を受けないなら、気にしない。でも、これはたぶん、ないだろう。 2 A -> C へ、いって、更に、C -> B へいった場合、AやCは、必要なのか? didReceiveMemoryWarning を受けるような状態であなたは、何をしていますか? なにもしていないなら、iOSに、そのうち殺されますけど。メモリは有限ですから、とりあえず、要らないものは、リリースするのが、iOSの掟です。

lon79
質問者

お礼

どうもありがとうございます。 現在、まだ何もしていません。。 対応しないといけないことはわかっているつもりです。 いらん画面は全部閉じて、ってことですよね。 その方法を現在ぐぐっている最中ですが、、 そもそもの話になりますが、このような構成の場合、 Storyboardのmodalで実装するのは、よい手なのでしょうか? 結局、自分でコードを書く量が増えるようなら、 cocos2dの方がいいのでは、とちょっと心が揺れています。 同じものができるのなら、経験が不足しているので、今回は簡単な方で作成したいです。 どなたがアドバイスいただけると幸いです。

回答No.1
lon79
質問者

お礼

ありがとうございました。 そこに書いてあることは、おかげさまでできました。 ただ、実際やろうとしていることが、A画面→B画面→C画面→D画面→E画面があり、 CからAに移動したり、 EからAに移動したり CからFに移動してA、 EからFに移動してA、 みたいに若干複雑になり、いろいろな巡回がある予定です。 この場合もdismissModalを使っていく方法になりますか? このようなものを見つけましたが、ちょっと今のところ理解できていない状態です。。 http://sarudeki.maiway.jp/forum/topic/368 申し訳ございませんが、どなたかアドバイスもらえると幸いです。

関連するQ&A

  • iOSシミュレータでボタンが重なる

    参考書を見ながらXcodeをインストールして勉強し始めたところですが、 Storyboardで配置したボタンがiOSシミュレータ上ではボタンが重なってしまいます。 よく見ると、StoryboardはiPhone5解像度準拠で、 シミュレータは旧アスペクト比のように見えます。 初心者向けの本を読みながら進めている段階で、どうすればよいかわかりません。 正しい解決方法を教えてください。 Xcode4.6.3 iOSシミュレータ6.0

  • storyboardでの縦長ページの作成方法

    iOSアプリの開発初心者です。 調べていましたがわからないので教えてください。 縦幅が画面サイズ以上のものを、storyboardで作成したいと思います。 しかし、storyboardの縦幅をのばすことができないので1画面内に配置できるものだけしか配置できません。 調べていたところ、 「simulated metrics」の「size」を「inferred → Freeform」に変更 との情報もありましたが、そもそも現在のxcodeのバージョンのせいなのか、他が原因か、simulated metrics項目がありませんでした。 お手数お欠けいたしますが、回答いただける嬉しいです。 よろしくお願いいたします。 Xcode Version 5.0.2 (5A3005)

  • iOSでCollectionViewが表示されない

    iOS開発初心者です。 Xcode 4.6にてstoryboard内にCollection Viewを設置したのですが、シミュレーターで実行するとその部分が真っ黒になり、何も表示されません。 その他の要素は問題なく表示されます。 表示するには何か設定が必要なのでしょうか? 詳しい方、お願いします。

  • iOSでポップアップ

    質問させてください。 XCodeを使用して、iOSのアプリ開発をしています。 どなたかモーダルビューでポップアップ表示させる方法をご存じないでしょうか。 画面にポップアップウィンドウを表示させようと思うのですが、上手くいきません。 StoryBoardでポップアップウィンドウのサイズは小さく指定しているのですが、 モーダルビューとして表示すると、画面いっぱいに表示されてしまいます。 解決策をご存知でしたらお教えください。 以上よろしくお願いします。

  • xcodeでのiOS開発で、コードで画面遷移する時

    xcodeでのiOS開発で、コードで画面遷移する方法について質問です。 テーブルビューで、セルをタップすると呼び出されるメソッドで コードで画面遷移をさせようとしています。 しかし、画面遷移をすると遷移先の画面が真っ黒になってしまいます。 どうすればなおりますか? - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NextViewController *nvc = [[NextViewController alloc] init]; nvc.hidesBottomBarWhenPushed = YES; [self.navigationController pushViewController:nvc animated:YES]; } ちなみに、遷移先のクラスはインポートしてあります。 StoryBoardは使っていません。

  • iPhoneアプリ開発

    MacBook CoreDuo 2.0GHz/1GB/120GB/DVDCombo/BT/AM/MA255J/A OS X 10.6.8 上記のPCにXcodeをインストールして、アプリの開発の練習をしたいです。 Xcode 3.2.6 and iOS SDK 4.3 for Snow Leopardを上記のPCにダウンロードしましたら、 数分使えたのですが、少ししましたら問題が発生したためXcodeを開くことができません。 と出てしまいました。 上記のPCに合う、Xcodeのバージョンを教えて頂けないでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • UIImageViewの重なり順序について

    Objective-C、iPhone 開発です。 現在、StoryBoardを使用して、一画面の簡単なプログラムを作成しています。 StoryBoard上で貼付けた、複数画像(UIImaveView)の重なり順序を変更したいのですが どこを操作すれば良いのか分からずにおります、、、 この状態のUIImageView、下記のどちらかで 重なり順序を制御することは可能なのでしょうか? ・Xcode上で重なり順序を再設定する ・プログラム実行時に再設定する ご存知の方おりましたらご教授ください。 (参考URLなどでも結構です) 宜しくお願いします。

  • iPhoneアプリ開発(Swift)

    Xcode6(ver6.32)を使用しSwiftでアプリを作成しています。 AppleからのRejectを受け原因を調査したところ あるボタンをタップした際のイベント内にある下記でアプリが落ちるようです。 ちなみにシミュレーター上では落ちませんがデバイスにインストールすると発生します。 var mainViewController: UIViewController =storyboard.instantiateViewControllerWithIdentifier("ViewController") as! UIViewController 2週間ほど悩み続けておりますが解決できておりません。 どなたか原因をご教授ください。

  • xcodeでiosアプリ開発の基本中の基礎

    表題の件ですが、 この度iosアプリ開発でxcode4.6を使用していますが 使い方がチンプンカンプン状態です やりたいことは以下の通りです  ・起動したら指定したURLをSafariで開くようにする .  ・画像やボタンは一切使用しない わからない事は以下の通りです  ・プロジェクト作成時7種類の選択があるのですがどれを選択すればいいのでしょうか?  ・実行コードはどこに記述すればいいのでしょうか? ソースは以下のurl http://blog.earthyworld.com/archives/ios%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%9F%E3%82%89%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%9Furl%E3%82%92safari%E3%81%A7%E9%96%8B%E3%81%8F%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B-nsurl/ を参考にできるのですが 肝心なプロジェクト作成方法とソース記述方法がわからず 手詰まり状態です どうかご回答宜しくお願いします。

    • 締切済み
    • Mac
  • iPadアプリ開発での実機動作への環境

    現在、iMac (OS:X Lion ver 10.7.5)の端末で、Xcodeを使って実機で動かそうとしているのですがXcode実行モードをデバイスにし、Runしようとしたところ、以下のエラー表示されました [Xcode cannot run using the selected device.] 一方Simulator(5.1)は問題なく表示していました *いま、使用しているXcodeは4.6.3です。 そこで、ネットでいろいろ原因を探しましたが、実機とiMacとでUSB接続のときに以下のメセージが表示されてました。(Organaize Devide) The version of iOS on “iMac"17 の iPad” does not match any of the versions of iOS supported for development with this installation of the iOS SDK. Please restore the device to a version of the OS listed below, or update to the latest version of the iOS SDK; which is available here. これはどういう意味を表しているのでしょうか。 このデバイスの問題を解決しない限り、実機での動作のための認証設定をやってもうまくいかないと考えてもよいでしょうか。 *すでにプロビジョンファイル等は行いましたが結果は上記とかわりませんでした。 また、いま使っている端末より上(2007以降?)で、かつXcodeが5でないといけないのでしょうか、実機にはiPadAirですでにiOS8.1までアップグレードしてあります。 ご指導のほどよろしくお願い致します。 ちなみにこちら参照しました。 iphoneアプリ開発環境のMacについて http://okwave.jp/qa/q7905167.html

    • 締切済み
    • Mac