2016-08-24 11 views
0

iPhone用のアプリケーションを開発しました。このアプリケーションをiPadで続けたいと思います。iPadのインターフェースはiPhoneと同じではなく、 iPad、私は別のuiviewcontrollerにuiviewcontrollerを渡すための質問があります。pushViewController:SWIFTのオプション値をアンラッピングしている間に予期せぬことにnilが見つかりました

Iは、2つのビュー(ビューAとビューB)を作成し、私は2つのビューに2つのナビゲーション・コントローラを埋め込み後、私はこの

if((modelName == "iPad 2")||(modelName == "iPad 3")||(modelName == "iPad 4")||(modelName == "iPad Air")||(modelName == "iPad Air 2")||(modelName == "iPad Mini")||(modelName == "iPad Mini 2")||(modelName == "iPad Mini 3")||(modelName == "iPad Mini 4")||(modelName == "iPad Pro")) 
    { 
     ... 
    }else 
    { 
     ... 
    } 

よう機能func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Boolでデバイスを検出します。ビューAでは

、私は、ビューBを渡すために

let secondViewController = self.storyboard!.instantiateViewControllerWithIdentifier("viewBID") as! ViewBViewController 

self.navigationController!.pushViewController(secondViewController, animated: true) 

をこのコードを追加し、私はiPhoneで同じことをした、それがうまく動作しますが、iPadのために、私遠かっはunexpectedly found nil while unwrapping an Optional value

のようなエラーが出ます

なぜ私はビューコントローラにナビゲーションコントローラを組み込んでいるのでわからないので、self.navigationControllerはnullではないと思います。あなたはこの問題を解決する方法を知っていますか?どうもありがとうございました。

PS:インターフェイスiPhoneとiPadを分けるのに正しい方法を使わなかったかもしれませんが、これについてはわかりません...あなたの助けが必要です。どうもありがとうございました。 enter image description here

+0

私は自分自身の迅速なエキスパートではありませんが、異なる画面用に異なるインターフェースを設計するのではなく、なぜAutoLayoutを使用していないのか不思議です。 :) https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/ –

+0

2つのインターフェイスが非常に大きな違いであるため – Coucou

+0

コードをさらに表示してください –

答えて

0

サイズクラスを使用してください。デバイスを検出するためにコードを使用する必要はありません。サイズクラスを使用すると、iPads、肖像画のiPhone、ランドスケープのiPhone、またはiPhone 6sのための異なるインターフェースを持つことができます。あなたのデバイスを選択し、このhere to select them

と、ここのように見える8よりも少ないXcodeで

サイズクラス。

and then select device

彼らはXcodeの8で一味違うが、同じ原理ですので、私は、Xcodeの8ベータ版をダウンロードすることをお勧めします。

Xcodeでサイズクラスに関するチュートリアルを検索できます。

+0

またはAppleの開発者を見てください:https:// developer.apple.com/library/prerelease/content/documentation/UserExperience/Conceptual/AutolayoutPG/Size-ClassSpecificLayout.html – Phyber

関連する問題