1

我是新来的,所以提前感谢这里的任何帮助。

我只是在 iOS 中做一些小练习,我有 2 个不同的东西调用同一个例程。

这些消息调用中的每一个都通过发送者。其中一个是UIButtonthat call when touchUpInside,一个是UISegmentedControlthat call when valueChanges

我需要在相同的方法中稍微不同地处理初始部分,并且我知道我以某种方式使用了 sender。

我需要做的是询问 sender 是 aUIButton还是 sender 是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

请注意,您也可以简单地与sender链接到 UI 对象的 IBOutlet 变量进行比较。或者你可以给你的 UI 对象tags 和 test sender.tag

于 2012-09-04T20:35:26.770 回答