- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是一名新手 iOS 程序员,这是我的问题:我有 mapview 和分段控件,还有 changeMapType 函数,它在 UIControlEventValueChanged 发生时被调用,就像这样
// change map type with segmented control
- (IBAction)changeMapType:(id)sender
{
NSInteger i = [mapTypeControl selectedSegmentIndex];
if (i == 0){
[worldView setMapType:MKMapTypeStandard];
}
if (i == 1) {
[worldView setMapType:MKMapTypeSatellite];
}
if (i == 2) {
[worldView setMapType:MKMapTypeHybrid];
}
}
在 viewDidLoad 中,我想调用此方法来设置第一个 map 类型。
[mapTypeControl setSelectedSegmentIndex:2];
[self changeMapType:nil];
上面的代码可以正常工作,但是下面的代码也可以正常工作
[mapTypeControl setSelectedSegmentIndex:2];
[self changeMapType:self];
那么最后,作为 SENDER 传递什么?哪个是正确的?
最佳答案
概念上,两者都不对,实际上,两者都可以。
sender
是(或者至少应该是)启动操作的 UIControl
实例(在您的情况下是分段控件)。事实上,您应该这样开始您的方法:
- (IBAction)changeMapType:(UISegmentedControl *)sender
{
NSInteger i = [sender selectedSegmentIndex];
// etc.
}
而手动调用时,应该传入分段控件:
[self changeMapType:mapTypeControl];
关于ios - 自 IBAction 和发送者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15289817/
我是iOS的新手,我想更新ViewDidLoad()函数中的文本。 这是我的按钮功能,单击按钮时会发生动画,并将值“1”添加到“resultText.text” - (IBAction)oneB
做了什么 我有一个名为 MyUser 的自定义 User 模型,如 full example for an custom user model 中所述。在文档和一个所谓的 UserProfile 上,
我有一个 NSMenu(应用程序停靠菜单),其中有几个具有相同操作的项目。 如何找出发件人项目(触发操作的项目)在其容器菜单中的索引? (我对标题不感兴趣,因为它可能是重复的) 这就是我尝试过的,但它
我正在开发一个带有 NSTableView 的 macOS 应用程序,我希望能够在用户选择一行时使用 Cmd+C 快捷键复制单元格的内容。我已经实现了该方法 copy(sender: AnyObjec
我一直在使用 MVVM 的 RelayCommand 成功地将操作绑定(bind)到 XAML,但是我的 ItemsControl 有一个小问题。
我的 C# Winform 面板中有一堆文本框。每行文本框的命名如下: tb1 tbNickName1 comboBox1 tb2 tbNickName2 comboBox2 tb3 tbNickNa
我有一个IBAction,例如: - (IBAction)thisThing:(id)sender { [self doSomething]; } 我想这样做(手动调用 IBAction): [s
我知道如何通过 zeromq 将字符串消息从 C++ 发送到 Python。 这是我知道的发送字符串消息的代码: C++ 发件人代码: void *context = zmq_ctx_new(); v
我是一名优秀的程序员,十分优秀!