2016-10-05 11 views
-2

私はSwiftで20の質問のテストを実装したいと思います。最後の質問まで次のボタンが押されるたびに同じviewcontrollerを繰り返す必要がありますが、これは起こらないviewcontrollersのキューを作成します。私は読んでいましたが、NSCopying Protocolは私を助けることができましたが、私は完全に理解できません。誰かが私に説明したり、このケースに対してNSCopyingプロトコルを使う正しい方法の例を挙げることができます。NSCopying Protocol Swift

+1

あなたはこのために 'NSCopying'を使用する必要はありません。各質問に対して新しいView Controllerを適用したくない場合は、現在の質問のView Controllerのビューを変更して次の質問を表示します。 – dan

+0

'NSCopying'プロトコルは、あまりに多くのビューコントローラをプッシュすることと何が関係していますか? – rmaddy

答えて

0

iOSでは、それぞれの「画面」は通常、ビューをカスタマイズしてユーザーとのやりとりを処理できる単一のViewControllerで表されます。

NSCopyingは、オブジェクトのコピーを作成するために使用されているが、それはあなたが、それはすべての質問あなたはのは、「次はおそらくでQuestionsViewControllerを言わせている必要があり、あなたの場合は

を扱う同じコントローラである必要があり、ここで必要なものはおそらくありませんボタン"。

その後
class QuestionsViewController: UIViewController {} 

(あなたのビューを構築するためにInterface Builderを使用している場合)、あなたはQuestionsViewControllerでIBActionメソッドに、ボタンのtouchUpInsideアクションをリンクし、質問のラベルを変更し、解答欄をリセットするためにビューを更新します(複数可

:)

@IBAction func nextQuestion(sender: UIButton) { 
    // Update the view... 
} 

は、別の方法としては、

あなたは論文のチュートリアルを見てすることができ、それぞれの質問には、別のビュー/セルとなりUIpageViewController /のUITableView/UIcollectionViewを使用することができます

Handling user action tutorial

Quizz video tutorial

PageViewController tutorial

+0

ありがとうございました。これは私が探していたものです – SheyVC

+0

@SheyVCこれがあなたの問題を解決すれば、答えを受け入れるべきです。 – rmaddy

0

質問ごとに異なるViewControllerを作成する代わりに、単一のViewControllerを使用して質問を変更できます。UIView animation forある質問から別の質問に移動する。

関連する問題