问题标签 [cocoa]

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 投票
3 回答
1535 浏览

objective-c - 在 Cocoa 应用程序中打开非标准 URL

在我正在编写的应用程序中,我有一些这样的代码:

主要区别在于myurl来自我无法控制的某个地方。请注意 URL 中的 %d 并不完全正确,这意味着 URLWithString 失败,返回nil

处理这个的“正确”方法是什么?我是否需要解析字符串并正确编码参数?或者 Cocoa 中是否有一些聪明的方法可以为我完成所有艰苦的工作?

0 投票
3 回答
1758 浏览

iphone - 如何使用 Core Animation 在我自己的类上随时间插入属性值?

具体来说,我希望将 CA 用于除

  • 整数和双精度数
  • CGRect、CGPoint、CGSize 和 CGAffineTransform 结构
  • CATransform3D 数据结构
  • CGColor 和 CGI​​mage 参考

在 CALayers 或 NSViews 以外的对象中

0 投票
2 回答
3670 浏览

objective-c - 何时为自定义视图创建 Interface Builder 插件?

您何时建议使用插件将自定义视图集成到 Interface Builder 中?在浏览 Apple 的Interface Builder Plug-In Programming Guide时,我发现:

  • 您的自定义对象是否将仅由一个应用程序使用?
  • 您的自定义对象是否依赖于仅在您的应用程序中发现的状态信息?
  • 将自定义视图封装在独立的库或框架中会不会有问题?

如果您对上述任何问题的回答是肯定的,那么您的对象可能不适合使用插件。

这回答了我的一些问题,但我仍然希望你能想到什么时候这是个好主意。有什么好处,时间投资有多大?

0 投票
4 回答
13686 浏览

objective-c - 如何将 Cocoa 应用程序设置为默认 Web 浏览器?

如何将 Cocoa 应用程序设置为默认 Web 浏览器?

我想创建一个应用程序,当用户单击其他应用程序(邮件、iChat 等)中的 HTTP 或 HTTPS 链接时默认启动该应用程序。

0 投票
1 回答
4064 浏览

cocoa - 使用 OpenGL 和 Cocoa 绘制文本的最佳方法?

有谁知道在 Cocoa NSOpenGLView 中绘制任意文本的简单方法?我有几个限制。

  • 屏幕上的文本可能会逐帧变化(例如,角落的帧率显示)
  • 我希望能够选择系统上安装的任何字体大小
0 投票
4 回答
7971 浏览

objective-c - 创建带有章节标记的 MP4/M4A 文件

我正在尝试将多个音频文件合并到一个包含章节元数据的 mp4/m4a 文件中。

我目前正在使用 QTKit 来执行此操作,但不幸的是,当 QTKit 导出为 m4a 格式时,元数据全部被删除(Apple 已确认这是一个错误),请参阅示例代码。我认为这将 QTKit 排除在这项工作之外,但很高兴被证明是错误的,因为如果它有效,它是一个非常简洁的 API。

因此,我正在寻找一种将音频文件(输入格式并不重要,因为我可以进行转换)连接到带有章节元数据的 m4a 文件的方法。

作为代码的替代方案,我对使用现有命令行工具来完成此操作的想法持开放态度,只要它可以作为另一个应用程序的一部分再分发即可。

有任何想法吗?

0 投票
2 回答
1101 浏览

cocoa - 取消过滤 NSPasteboard

有没有办法为源应用程序特别声明它将提供的内容取消过滤 NSPasteboard?

我正在尝试在我的应用程序中序列化粘贴板数据。当另一个应用程序将 RTF 文件放在粘贴板上,然后我询问可用类型时,我会得到十一种不同风格的 RTF,从原始 RTF 到纯字符串再到 dyn.* 值。

将所有数据保存到磁盘上的 plist 或原始数据通常不是问题,因为它非常小,但是当在粘贴板上放置任何相当大的图像时,生成的输出可能比源大几十倍数据(通过过滤提供多种类型的 TIFF 和 PICT 数据)。

如果可能的话,我希望能够保存原始应用程序提供的内容。


约翰,你比我自己或与我一起工作的那位自恐龙在地球上漫游以来一直在做 Mac 编程的绅士要敏锐得多。我们都没有注意到你突出显示的文字......我不知道为什么。显然,在这个问题上开始时间太长了。

虽然我接受了您的答案作为正确答案,但它并不能完全回答我原来的问题。我一直在寻找一种方法来识别可以变成其他口味的口味,只需将它们放在粘贴板上并知道这些类型中的哪些最初是由供应商提供的。虽然遍历类型列表会给我提供提供它们的应用程序的首选顺序,但它不会告诉我可以安全地忽略哪些,因为稍后我重新填充粘贴板时会重新创建它们。

我得出的结论是,没有“好”的方法可以做到这一点。 [NSPasteboard declaredTypesFromOwner]会很棒,但它不存在。

0 投票
12 回答
78004 浏览

objective-c - 洗牌 NSMutableArray 的最佳方法是什么?

如果你有一个NSMutableArray,你如何随机打乱元素?

(我对此有自己的答案,发布在下面,但我是 Cocoa 的新手,我很想知道是否有更好的方法。)


更新:正如@Mukesh 所指出的,从 iOS 10+ 和 macOS 10.12+ 开始,有一种-[NSMutableArray shuffledArray]方法可用于随机播放。有关详细信息,请参阅https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objc。(但请注意,这会创建一个新数组,而不是在原地打乱元素。)

0 投票
2 回答
1361 浏览

iphone - 如何让 UIDatePicker 显示特定日期?

我的应用程序需要让用户从符合特定模式的日期列表中选择一个日期。例如,他们可能需要从星期一的列表中选择一个月的星期一。有没有办法让 aUIDatePicker将日期选择限制为某个子集,或者我应该只使用 aUIPickerView吗?

0 投票
6 回答
12039 浏览

cocoa - 在程序中使用 mac 相机的示例代码?

我想在程序中使用我的 Macbook 中的相机。我与语言无关——C、Java、Python 等都很好。谁能建议寻找文档或“Hello world”类型代码的最佳位置?