2016-04-14 15 views
-3

小売店でSwiftの "Add to Cart"を作成しようとしています。私の現在の問題は、データベース情報を運ぶ「ラベル」をあるView Controllerから別のView Controllerに渡そうとしていることです。問題は、ラベルに情報があることです。ほとんどのチュートリアルでは、テキストフィールドを別のView Controllerに渡す方法について説明しています。ショッピングカートとして機能するポップオーバーに情報を渡す必要があります。Swiftの "add to cart" popoverの作成方法

これは私が最も有用であると見ているビデオですが、テキストフィールドを使用しており、ラベルにラベルを渡す必要があります。つまり、そのラベルをデータとともにポップオーバーに渡します。あなたは、ビューコントローラ間のラベルを渡すべきではありません

https://www.youtube.com/watch?v=guSYMPaXLaw&nohtml5=False

+1

おそらく、使用しているコードを提供していて、動作していない場合です。一般的に、Model - View - Controllerパラダイムを強制しようとします。したがって、データはすべてあなたのモデル内にあるはずです。おそらくあなたのモデルにあなたの状態が含まれているはずです(テキスト付きのポップアップボックスが必要です)。その後、あなたのコントローラーがビューを描くようになります。たとえあなたがあなたのデザインで靴ひねりをしたいとしても、ラベルは基本的にはテキストなので、うまく通すことができます。 – LawfulEvil

答えて

0

助けを事前に

感謝。代わりに、ラベルに添付されたテキストを文字列として渡します。

このチュートリアルを読んでいただければ、問題が解決することを保証します。

http://www.appcoda.com/storyboards-ios-tutorial-pass-data-between-view-controller-with-segue/

+0

これは客観的なCです...私はこのすべてを迅速にやろうとしています...すばやくそうする方法を知っていますか?ありがとうございました –

+1

この問題に関しては、SwiftとObjective-Cはすべて実用的です目的、同一。ほとんどの初心者の場合、SwiftとObjective-Cの違いはごくわずかです。メソッド名などは同じで、Xcodeのオートコンプリートはあなたの手を完全に保持します。 –

0

まず第一に、あなたは "情報を伝える" ためにラベルを使用しないでください。ビューコントローラへのデータの受け渡しは、表示しているビューコントローラ内の文字列、int、カスタムオブジェクトなどの変数を介して行われます。次に、View Controllerが正常にロードされたときにそのデータを表示できます。あなたがリンクしているチュートリアルのビデオを見ると、発表者はそれを正確に行います。彼は、ラベルではなく文字列を通してデータを渡しています。ビューコントローラがロードされると、彼は文字列データをラベルにロードします。

表示する表示コントローラをポップオーバーとして表示する場合は、Segueプレゼンテーションの種類をInterface Builderでpopoverを使用するように変更します。あなたがチュートリアルであなたに言うように、文字列をprepareForSegue:関数に渡します。必要なものはすべてチュートリアルです。あなたが本当に変更する必要があるのは、2番目のビューコントローラーのプレゼンテーションの種類です。これは、「ショー(例:プッシュ)」ではなく「ポップオーバーとしてプレゼンテーション」でなければなりません。

更新

あなたの質問は、あなたがまだモデル - ビュー - コントローラがどのように機能するかを理解していないを示しています。表示しようとしているビューコントローラには、表示するまでデータ(モデル)を保持する変数(ビュー/ビューコントローラ)が必要です。あなたのビデオを見て、LabelTextという文字列変数(実際には適切なSwift構文に従うためにはlabelTextという名前にする必要がありますが、それは別の議論です)について議論するのを聞いてください。彼は約10分後に議論を始める。彼は変数を設定するprepareForSegue:関数に入っている。次に、新しいView Controller内で、Stringの変数の内容をラベルのテキストフィールドに表示します。 String変数は、あなたが参照している "プレースホルダ"と考えることができます。

+0

保存された情報を他のView Controller(ポップオーバー)に保持する「プレースホルダー」(AKAラベル)を使用せずに、ポップオーバーに渡される文字列をどのように取得しますか?私がデータベースから自分の情報を提示するためには、私たちのラベルである製品の名前を迅速に表示するプレースホルダーを持つセルが必要です。ラベルを選択すると、カートに移動する必要がありますが、ラベルからポップオーバーにデータを渡すことはできません。できるだけ明確にしようとする。ありがとうございました –

+0

@ Phil-bertFriedman私は応答で私の答えを更新しました。 –

関連する問題