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

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

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

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

1回答

936閲覧

Swift2 での質問です

Kouzi_Tadokoro

総合スコア19

Swift

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

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2016/02/23 07:36

Swift初心者です。

今作っているコードでボタンを無数に作らなければいけないのですが、その作ったボタンに入れる関数(action)が必要で、それも無数に作りたい場合はどうすればいいと思いますか?

私が今考えているのは

①View遷移する(ボタンを押す)

②①のボタンを押したらデリゲードの方でカウントされる

③カウントした数を違う変数を使ってStringにする(関数名に使いたいので 1 だったら a にするという感じ)

④①のボタンを押した分だけタイマーを回す( 1 だったら 1 回、a という名前の関数を作る もし 2 だったら 2 回回し、b という名前の関数を作る。 3 は c 、 4 は d ... といった感じで、ここの a , b ...という名前は③で作った変数名をそのまま関数名として使いたい)

という感じで、(コードの方はぐちゃぐちゃでみせられません...説明が下手ですいません)
func ③の変数名 (sender:UIButton){....}
みたいな関数を無数に作る、というのは可能なのでしょうか? もし可能ならばご教示お願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

関数は一つでいいと思います。

ボタンを作った時に、

swift

1button.tag = <カウントした数>

としておいて、

swift

1func pushedButton(sender: UIButton) { 2 //sender.tagを見て処理を分岐 3}

投稿2016/02/23 07:44

fuzzball

総合スコア16731

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

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

Kouzi_Tadokoro

2016/02/23 08:01

回答ありがとうございます。 そうですね、関数内で分岐すればいいだけですね... 二日ぐらい考えてたのですごく悔しいですw 本当に助かりました、ありがとうございます。
Kouzi_Tadokoro

2016/02/24 07:31 編集

すいません、昨日ご教示いただいた方法をやってみたのですが、 仮に、3回遷移したとします。2つViewがあり、もとのViewに戻った時、その回数を tag として設定してみて、遷移した回数をカウントし、While で戻った時の数を tag に入れて遷移した回数を一回回すごとに減らしていき、0 になったら終了  var SENI_KAISUU:Int = 0 (デリゲート) 遷移したらカウント var SENI_KAISUU_DAINYU = SENI_KAISUU override func viewDidLoad() {~~ While SENI_KAISUU_DAINYU > 0{ ボタンを作るコード Make_Button.tag = SENI_KAISUU_DAINYU ボタンをViewに出すコード SENI_KAISUU_DAINYU-- } 色々間違っていますが大体こんな感じで、きちんと変わっているか print 文で tag を出力してみた結果、全て1になります。(3つのボタンを押しましたが、全て結果は同じでした。) どうすればきちんと出力できますか? もしよければご教示お願いいたします。  説明がよくわからなかったらコメントしてくださると助かります。
fuzzball

2016/02/25 00:28

よくわからないです。
Kouzi_Tadokoro

2016/02/25 07:09

説明が下手ですいません、諦めます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問