質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

500閲覧

Xcodeの二つのラベルに別々の言葉を表示するコード

misokota

総合スコア36

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2020/04/18 01:25

イメージ説明
Xcode初心者です。
サインプルアプリを作り終わったので、自分で考えてしようと思ったら、
二つのラベルを無作為に別々の言葉を表示するコード(やり方)がわかりません
教えて欲しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/04/18 01:44

コードをテキストで提示しましょう
hoshi-takanori

2020/04/18 04:03

Button の上に Label が二つ見えますが、上が answerLabel で下が answerLabeltwo でしょうか? で、それぞれにどんな言葉を表示したいんですか?
misokota

2020/04/18 04:54

そうです。上が answerLabel で下が answerLabeltwo です。上のanswerLabelには1234をランダムに表示して、下のanswerLabeltwoにはABCDをランダムに表示したいです。
guest

回答1

0

ベストアンサー

質問者さんは「iPhoneアプリ開発集中講座」を読まれていると思いますが、無作為にラベルに文字を表示するためのヒントは 118ページの「ジャンケンの結果をランダムに表示する」に載っています。

ジャンケンの結果をランダムに表示させるため、Int.randon()というメソッド(関数)を使っていますが、これを応用して表示させることが可能です。


そのためには、配列(262ページ)という概念も抑えておく必要があります。
ヒントになるようなサンプルコードを書いてみました。

なるべく余計なことを考えなくても良いように、Playground で動くようにしてあります。

まずは、以下のコードをPlaygroundで動かしてみて、配列の中身や要素数、構文などをいろいろ変更し、ある程度納得してからアプリに移植すると、理解も早くなると思います。

swift

1import UIKit 2 3// ラベルに表示したい文字列の配列を作っておく 4let textOne: [String] = ["1", "2", "3", "4"] 5let textTwo: [String] = ["A", "B", "C", "D"] 6 7// 配列の何番目の文字を表示するのかを random メソッド(乱数を作る関数)で作る 8// 得られる乱数は 0 から textOne.count 未満(textOne.count とは、textOuneという配列の要素数のこと)が得られる 9let indexOne: Int = Int.random(in: 0 ..< textOne.count) 10let indexTwo: Int = Int.random(in: 0 ..< textTwo.count) 11 12// indexOne, IndexTwo に入っている番号を表示する 13print("indexOne は (indexOne) です。") 14print("textOne の indexOne 番目に入っている文字は (textOne[indexOne]) です") 15print("indexTwo は (indexTwo) です。") 16print("textTwo の indexTwo 番目に入っている文字は (textTwo[indexTwo]) です") 17 18// 一つ目のラベルを作る(幅が 100, 高さが 50) 19// iOS App として作るのであれば、これはたとえば @IBoutlet weak var labelOne: UILabel! という形で宣言されている 20// Playground であれば、ラベルはとりあえずこういう形で作る、という程度で覚えておく 21let labelOne: UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 50)) 22 23// 文字色を白にする 24labelOne.textColor = .white 25// ラベルの文字列をtextOne[] という配列の indexOne 番目にする 26labelOne.text = textOne[indexOne] 27 28// 一つ目のラベルを作る 29let labelTwo: UILabel = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 50)) 30 31// ラベルの背景色をグリーンにする 32labelTwo.backgroundColor = .green 33// 文字色はオレンジにする 34labelTwo.textColor = .orange 35// 文字を中央揃えにする 36labelTwo.textAlignment = .center 37// ラベルの文字列をtextTwo[] という配列の indexTwo 番目にする 38labelTwo.text = textTwo[indexTwo]

ちなみに、デフォルト(標準)の設定では UILabel は表示されないので、UILabel の右側にあるアイコンをクリックして、ラベルが表示されるようにしてみるといいかと思います。

Playground実行画面

投稿2020/04/18 05:55

TsukubaDepot

総合スコア5086

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

misokota

2020/04/18 07:28

わざわざありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問