前提・実現したいこと
・ボタンを押すごとに予め準備してある文章をランダムで表示させる Xcode(Version 9.3)を使ってSwiftで初めてiOSのアプリ開発にチャレンジしています。 Javaを少し触ったことが過去にあったので、「ボタンの配置・ボタンを押したあとテキストボックスへ文字を表示する」ことを学習した後に、表示するテキスト内容一つではなく、複数ある中からランダムで一つ表示させることもできるのではないか。 と思いましたが、中々このことについて解説されているページが出てこなかったので教えていただきたいです。
発生している問題・エラーメッセージ
エラーメッセージはありません
該当のソースコード
Swift (Object-Cではありません)
試したこと
検索をかけて似たようなものを組み合わせて試したのですが、考えているものとは異なる結果になりました
補足情報(FW/ツールのバージョンなど)
特にありません
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
初心者の私が練習のために知っていることを組み合わせて書いてみました。
Storyboardにラベルとボタンが必要です。
識者からのツッコミ用に使っていただけるとうれしいです。
swift
1import UIKit 2class ViewController: UIViewController { 3 4 // 表示用ラベル 5 @IBOutlet weak var randomTextLabel: UILabel! 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 //ラベルテキストの初期値設定 10 randomTextLabel.text = "" 11 } 12 13 // ボタンタップ時の処理 14 @IBAction func showRandomText(_ sender: UIButton) { 15 // 0〜2のおみくじ引きます 16 let textNumber = arc4random_uniform(3) 17 print("textNumber:",textNumber) 18 19 // テキスト 20 let textOfNum0 = "0のときのテキスト" 21 let textOfNum1 = "1のときのテキスト" 22 let textOfNum2 = "2のときのテキスト" 23 24 // 引いた番号のテキストをラベルに表示する。 25 switch textNumber { 26 case 0 : randomTextLabel.text = textOfNum0 27 case 1 : randomTextLabel.text = textOfNum1 28 case 2 : randomTextLabel.text = textOfNum2 29 default: break 30 } 31 } 32 33 override func didReceiveMemoryWarning() { 34 super.didReceiveMemoryWarning() 35 } 36}
テキストの設定のために
enumを調べると幸せになれるのかなと思います。
注目度が低くなるので、BestAnswer付けるのは慎重に。
投稿2018/05/02 23:46
編集2018/05/02 23:55退会済みユーザー
総合スコア0
0
追記依頼の欄に書かず、こちらに書きました。
初心者マークをつけるか、はじめたばかりということを強調し前置きしておけば
回答が得られるでしょう。
Swiftでランダム文章を表示する方法
という表意の質問ですが、Swiftで を考慮せず
アルゴリズム、処理の仕組みについてだけ
回答をします。
処理がきちんとできれば、
あとはどの言語で書くかの問題だけになります。
回答
プログラムがテキストを出力する前に
あらかじめいくつか準備、下ごしらえをしておきます。
まずいくつか”ランダム”に”箱”の中身を取り出す準備です。
次に”ランダム”に表示したいテキストを用意しておきます。
取り出しやすいように、1つ1つのテキスト内容に”識別子”をつけて、
”箱”に格納しておきます。
次は、テキストの内容を表示する”場所”を用意します。
以上が下ごしらえ。
あとはボタンを押して表示するように
機能をつけます。
””(引用符) でくくった、閉じられた言葉は、
それぞれプログラミングの専門用語に置き換えられます。
それから
表示するテキスト内容一つではなく、複数ある中からランダムで一つ表示させることもできるのではないか。
と思いました検索をかけて似たようなものを組み合わせて試したのですが、考えているものとは異なる結果になりました
コードがうまく書けなくてもいいので
文章で構わないので、考え方、処理の流れを書いてください。
(別にここにすべて公開しなくてもいい 一部でもいいです)
100%の正確な考えは求めませんが
その考えているものの内容を書いてください。
間違いが含まれていれば、きちんと
理由を書いて間違いと指摘する人がいるでしょう。
質問者と回答者が考えや意見をやり取りして
そうして回答にたどりつくのが普通です。
投稿2018/05/02 23:23
総合スコア1195
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/02 23:38
2018/05/03 00:06 編集
2018/05/03 00:26
2018/05/03 00:34
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/03 00:08
退会済みユーザー
2018/05/03 00:19