1

私はこれが初めてなので、ここで助けてくれてありがとう。

私はiOSで少し練習して遊んでいるだけで、同じルーチンを呼び出す2つの異なるものがあります。

これらの各メッセージ呼び出しは、送信者を通過します。これらの1つは、UIButtonいつ呼び出すかtouchUpInside、もう1つはいつUISegmentedControl呼び出すかvalueChangesです。

同じメソッド内で最初の部分を少し異なる方法で処理する必要があり、どういうわけかセンダーを使用していることを知っています。

私がする必要があるのは、送信者がであるUIButtonか、送信者がであるかを尋ねることですUISegmentedControl

私は試した

if  ([sender isKindOfClass:UISegmentedControl]) { ... }

if ([sender isKindOfClass:UIButton]) { ... }

どちらも次のようなエラーをスローします。

Unexpected interface name "UIButton": expected expression

ですから、それは明らかに間違っています。

4

2 に答える 2

5
[sender isKindOfClass:UISegmentedControl]

する必要があります:

[sender isKindOfClass:[UISegmentedControl class]]
于 2012-09-04T20:21:04.893 に答える
1

senderUIオブジェクトにリンクするIBOutlet変数と単純に比較することもできることに注意してください。tagまたは、UIオブジェクトにsとtestを与えることができますsender.tag

于 2012-09-04T20:35:26.770 に答える