使用sender识别在ios中调用方法的对象

Sim*_*ver 1 cocoa-touch objective-c ios5

我是新手,所以在此先感谢您的帮助。

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

这些消息调用中的每一个都通过发送方。其中一个UIButton是调用when touchUpInside,一个是UISegmentedControl调用when valueChanges

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

我需要做的是询问发件人是 aUIButton还是发件人是UISegmentedControl.

我试过

if  ([sender isKindOfClass:UISegmentedControl]) { ... }
Run Code Online (Sandbox Code Playgroud)

if ([sender isKindOfClass:UIButton]) { ... }
Run Code Online (Sandbox Code Playgroud)

两者都抛出了这样的错误:

Unexpected interface name "UIButton": expected expression

所以这显然是错误的。

Mat*_*ing 5

[sender isKindOfClass:UISegmentedControl]
Run Code Online (Sandbox Code Playgroud)

应该:

[sender isKindOfClass:[UISegmentedControl class]]
Run Code Online (Sandbox Code Playgroud)

  • @SimonTheDiver 如果此答案对您有所帮助,请确保通过单击此帖子旁边的“复选标记”将其标记为正确。 (3认同)