问题标签 [target-action]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6578 浏览

cocoa - 如何在 NSMenuItem 的操作上设置发件人?

Apple 文档说,传递给 NSMenuItem 操作的发送者可以设置为一些自定义对象,但我似乎无法弄清楚如何做到这一点。有没有我在文档中没有看到的方法?

0 投票
1 回答
254 浏览

iphone - 如何安全地对要从 UI 中删除的按钮进行内存管理?

我正在制作一个有点像 iBooks 的应用程序。屏幕上有一些东西,每个项目都由一个小缩略图表示。我希望用户能够像点击 iBooks 中的“编辑”按钮时一样删除项目 - 出现 X,项目被删除。我正在使用委托模式来处理所有这些,所以这里有一些代码:

这段代码的问题是我得到了一个错误的访问异常。通过 NSZombie,看起来像这样:

* -[UIButton _unhighlight]:消息发送到释放的实例 0x5f4a740

我猜发生的事情是,当我的目标操作实现被调用时,释放按钮还不安全,就像我在委托方法中所做的那样。所以我的问题是,有什么更好的方法来做到这一点,这样应用程序就不会崩溃?我想知道最干净的方法。

0 投票
1 回答
235 浏览

cocoa - 为什么我不能从每个窗口打开首选项?

我遇到了这个显示主窗口的 Cocoa 应用程序(源代码)。

只要这个窗口是键,就可以从主菜单打开首选项窗口,也可以通过点击Command-,但是当主窗口不是键并且来自同一个应用程序的另一个窗口是,NSMenuItem 是灰色的并且键盘快捷键没有响应。

我检查了与主菜单关联的 xib 文件,并且 NSMenuItem 正在向openPreferences:(id)sender应该是 NSApplication 的 FirstResponder 发送 IBAction。

我错过了什么(我还是 mac cocoa 编程的新手)?如何修复它以便可以从每个应用程序窗口访问首选项?

0 投票
1 回答
4802 浏览

iphone - 禁用操作 - 用户点击标签栏项目以转到根视图控制器

当用户点击标签栏项目时,我想禁用默认操作。

例如,我有一个带有 Tab1、Tab2 和 Tab3 的标签栏。在 Tab1 中,用户可以从 View1 导航到 View3(View1 > View2 > View3)。如果用户在 View3,并且他点击 Tab1,应用程序会将用户带到 View1(根视图控制器)。我想禁用此功能。我不希望 Tab1 上的点击弹出所有视图控制器。我怎样才能做到这一点?

编辑:

这种行为有点奇怪,但在层次结构较深的情况下是一个方便的捷径!

您可以实现以下 UITabBarControllerDelegate 方法来禁用此系统范围的快捷方式:

0 投票
2 回答
3019 浏览

objective-c - 鼠标事件处理程序

MyNSImageView 是 NSImageView 的子类,这里我有:

在另一个名为 MainView 的类中,我有:

在 MainView 中,当我单击 ImageView1 或 ImageView2 时,我希望使用 mouseDown1 或 mouseDown2 方法来相应地处理事件,而不是 mouseDown 方法。

我已经阅读了有关目标/操作/委托和响应者的内容,但仍然看不到执行此操作的确切语法。

0 投票
2 回答
1285 浏览

objective-c - 使用 NSOperation 处理目标/动作弱引用

我正在使用 aNSOperation来处理 iOS 应用程序中的后台处理,并且我正在尝试了解目标/操作模式。在委托模式中,委托作为弱引用持有,委托对象负责在它之前将另一个对象的委托字段设置为 nil dealloc。据我了解,在目标/动作模式中,出于类似的原因,目标被视为弱参考。nil但是,当目标对象为 s 时,“出”目标字段似乎并不容易dealloc,并且使用NSOperations 时,当目标对象被释放时,操作仍有可能位于队列中。

NSOperation在这种情况下(执行后台处理,然后使用目标/操作将值返回给 的创建者)应该如何处理内存管理NSOperation

0 投票
2 回答
400 浏览

cocoa - 在 IBAction 中有 (id)sender 有什么好处吗

使用 cocoa 编码时,我注意到定义时不需要sender参数IBAction,因此执行以下操作:

可以声明为

所以我想知道除了拥有发送操作的按钮/菜单项之外是否还有其他好处?我能想到的唯一其他情况是很少有对象调用相同的 IBAction。还要别的吗?

0 投票
1 回答
571 浏览

ios - NSURLRequest 和目标动作

作为一名 iOS 开发新手,我试图了解一些与 iOS 中回调机制相关的概念。

我的模型通过 NSURLRequest 向后端休息服务发出 HTTP 请求。该模型有几个方法对应于服务中的方法。NSURLRequest 基于委托模式,这意味着我会收到所有服务调用的通用回调。然后,我的模型必须找出回调与哪个服务调用相关,以便我可以向控制器发送适当的更新事件。这很尴尬,因为我必须在模型中维护 som 状态以记住我上次进行的调用(这在并发的情况下非常不切实际),或者解释 HTTP 响应中的有效负载。

我希望 NSURLRequest 支持目标操作模式,以便每个请求都可以决定使用哪个回调方法。那可能吗?我在这里错过了什么吗?

如果框架中没有目标操作,解决这个问题的最佳实践是什么?

0 投票
2 回答
2881 浏览

objective-c - Xcode:如何从对象中删除操作?

我需要从对象中删除一个动作,然后添加一个新动作。

我已使用此代码添加新操作:

然后我尝试使用此代码删除旧操作:

问题是它也以某种方式删除了 newAction。

有任何想法吗?

提前致谢 :)

0 投票
2 回答
394 浏览

objective-c - 将选择器添加到 NIB 文件中的多个分段控件

我有两个UIbuttons,我想将这两个按钮分配给 aUITextView以便当按下其中一个按钮时,文本视图内容会从按下前一个按钮时的内容发生变化。我想使用分段控件来做到这一点。如何在 NIB 文件中为每个分段控件分配不同的选择器?