【发布时间】:2026-01-26 03:20:07
【问题描述】:
这个问题的答案可能很简单,但目前我很困惑,欢迎任何帮助。
我已将上下文菜单附加到表格视图。菜单选项之一是删除表格视图中的元素。我正在使用 NSAlert 弹出模式窗口以确认删除。我想将 tableview 中的值传递给警报选择器,因此我有一些参考可用于删除。 这是警报字符串:
[alert beginSheetModalForWindow:_window
modalDelegate:self
didEndSelector:@selector(deleteAlert:code:context:)
contextInfo:s];
每当我尝试将对象作为 contextInfo 传递时,都会收到警告。如果我尝试传递 NSInteger 行(来自 tableview 的行),我会收到此编译器警告:警告:语义问题:不兼容的整数到指针转换将“NSInteger”(又名“long”)发送到“void *”类型的参数 如果我尝试以变量名形式传递字符串,我会得到:错误:自动引用计数问题:ARC 不允许将 Objective-C 指针隐式转换为“void *”。我还尝试了一本字典,但没有任何运气。
但是,如果我传递这样的字符串:contextInfo:@"some info",我不会收到任何错误,而且我实际上可以在选择器中看到它。这当然对我的需求有点用处。
那么,如何将表格行信息传递到警报中,以便在删除选择器中使用它?
【问题讨论】:
标签: cocoa