问题标签 [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 投票
5 回答
22347 浏览

objective-c - 修改 NSDate 以表示从今天开始的 1 个月

我正在向我正在开发的 Cocoa 应用程序添加重复事件。我每天和每周都重复,因为我可以用数学方法定义这些(3600*24*7 = 1 周)。我使用以下代码来修改日期:

我知道自从事件重复以来已经过去了几个月,但我不知道如何制作一个代表未来 1 个月/3 个月/6 个月/9 个月的 NSDate 对象。理想情况下,我希望用户说从 10 月 14 日开始每月重复一次,它将在每个月的 14 号重复一次。

0 投票
2 回答
561 浏览

cocoa - Why can I select aliases but not symbolic links in NSOpenPanel?

I want to create an NSOpenPanel that can select any kind of file, so I do this

which lets me select all files except symbolic links.
They're simply not selectable and the obvious setResolvesAliases
does nothing.

What gives?

Update 1: I did some more testing and found that this strangeness
is present in Leopard (10.5.5) but not in Tiger (10.4.8).

Update 2: The code above can select mac aliases (persistent path
data that lives in the resource fork) but not symlinks (files created with ln -s).

0 投票
6 回答
13061 浏览

objective-c - 为什么我不应该在 init/dealloc 中使用 Objective C 2.0 访问器?

@mmalc这个问题的回答中,他指出“一般来说,您不应该dealloc(或 init)中使用访问器方法。” 为什么 mmalc 会这样说?

我能想到的唯一真正原因是性能和避免@dynamic setter 的未知副作用。

讨论?

0 投票
2 回答
3483 浏览

regex - What's the best way to validate a user-entered URL in a Cocoa application?

I am trying to build a homebrew web brower to get more proficient at Cocoa. I need a good way to validate whether the user has entered a valid URL. I have tried some regular expressions but NSString has some interesting quirks and doesn't like some of the back-quoting that most regular expressions I've seen use.

0 投票
11 回答
8184 浏览

objective-c - 在 Cocoa 中使用 autorelease 的成本是多少?

大多数 Apple 文档似乎都避免使用自动释放对象,尤其是在创建 gui 视图时,但我想知道使用自动释放对象的成本是多少?

最终,我是否应该使用自动释放所有内容的策略,并且使用保留/释放应该是特定情况下规则的例外?还是我通常应该使用保留/释放,而自动释放是从 [NSString stringWithEtc...] 等便捷方法返回的对象的例外?

0 投票
6 回答
5537 浏览

cocoa - 当用户完成对 NSTableView 中的单元格的编辑时,如何获得通知?

我需要知道用户何时完成对 NSTableView 中的单元格的编辑。该表包含所有用户的日历(从 CalCalendarStore 获得),因此为了保存用户的更改,我需要将更改通知 CalCalendarStore。但是,我找不到在用户完成编辑后调用的任何内容 - 我猜想在表的委托中会有一个方法,但我只看到在编辑开始时调用的方法,而不是在编辑结束时调用的方法。

0 投票
9 回答
85309 浏览

objective-c - 有没有办法抑制 Xcode 中的警告?

有没有办法抑制 Xcode 中的警告?

例如,我正在调用一个未记录的方法,并且由于该方法不在标头中,因此我在编译时收到警告。我知道我可以将它添加到我的标题以停止警告,但我想知道除了将它添加到标题(这样我可以保持标题清洁和标准)之外是否还有其他方法来抑制警告?一个pragma还是什么?

0 投票
1 回答
209 浏览

objective-c - 在清理 ObjC 对象时是否有处理非内存资源的模式?

对于具有与非内存资源相关的某些状态的对象,通常会提供一种方法来显式地“完成”该资源。是否有首选的常见做法来处理仍处于“使用我的资源”状态时尝试释放对象的情况?我已经看到了几种不同的方法:

  1. 记录程序员犯了一个错误并告诉他们如何调试它(NSLock这样做)
  2. 让调用者选择资源是由调用者管理还是在释放时放弃(例如NSFileHandle
  3. 如果对象未处于预期的最终状态,则引发异常,即断言程序员不会以这种方式使用我的对象
  4. 出门时总是打扫卫生。

GC 文档确认与内存管理一起管理其他资源是一个坏主意,并且(但)提供了一个执行 4 的示例,尽管有一些警告。那么有没有人“选择”了一种始终遵循的方法?

0 投票
6 回答
4899 浏览

cocoa - 按标识符定位捆绑包

我想从任意包标识符创建一个包,
例如com.apple.iokit.IOStorageFamily

这不是不合理的事情,因为捆绑 ID 应该
是唯一的,但是明显的代码不起作用:

这段代码只适用于你已经加载的包
(你好,鸡和蛋的问题),事实上,在你做任何事情之前,你必须
比你想知道的标识符多
一点。对于上面的 ID 样式,
我 grep 出最终组件并将其转换为
/System/Library/Extensions/IOStorageFamily.kext
然后通过路径加载。

这是最先进的技术还是有更通用的方法?

0 投票
2 回答
1431 浏览

cocoa - 如何确定货币符号是在 MacOS 上的数字的左侧还是右侧

如何在 Mac Carbon 项目中使用 CFLocale / CFNumberFormatter 确定货币符号应该位于数字的左侧还是右侧?

我需要与一个电子表格应用程序交互,该应用程序需要我传递一个数字、货币符号、货币符号位置和填充,而不是使用 CFNumberFormatter 创建的 CStringRef。

为我提供了货币符号作为字符串。但我迷失了如何确定货币符号的位置......