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

iphone - OCUnit 和 OCMock 可以在 iPhone SDK 上工作吗?

我根本无法让它工作,我想知道我是在浪费时间,还是我只是愚蠢!

抱歉,我现在没有确切的错误。但我只想知道它是否有效!

0 投票
3 回答
20622 浏览

iphone - 在objective-c(iphone版)中做观察者/可观察的最好方法是什么

我习惯于编写 Java Swing UI,如果您有一些更改的属性,并且您希望您的 UI 更新,您将实现观察者/可观察模式。在 Java 中,您通常通过让您的类维护它通知不同事件的侦听器列表来执行此操作。

我在 Mac 上玩过 Objective-C,它有 KVC 和绑定,看起来工作得很好,并且需要更少的代码。iPhone SDK 似乎没有此功能,所以我的问题是:如果我有一个包含更改数据的类,那么我向该类注册 UI 组件以便通知它的最佳方法是什么它需要显示的数据的变化?

0 投票
4 回答
4261 浏览

iphone - NSThread 和 UIViewController 交互

如果我产生一个新线程,然后在其中我将一个新控制器推送到我的 UINavigationController 上,使用这样的代码......

(a) 不工作

然后我发现视图出现了,但没有响应用户输入。

如果我像这样更改代码

(b) 工作

然后一切正常。

关于为什么的任何提示?

0 投票
5 回答
7531 浏览

objective-c - [NSKeyedUnarchiver decodeObjectForKey] 导致内存泄漏

每次我调用此方法时,我的 NSMutableData 都会泄漏,我无法弄清楚如何插入它。在分配和初始化解码器后,theData 的保留计数增加了 1,我不知道为什么。我在方法结束时被保留计数为 2 并试图释放它会导致应用程序崩溃。

0 投票
5 回答
6998 浏览

iphone - 如果函数执行时间过长,iPhone 会超时吗?

我有一个函数,我使用可可的 Url 对象从网络获取外部资源。它在模拟器上运行良好,但偶尔会在设备本身上失败(这是一个谷歌查询,所以资源显然确实存在)。这让我相信硬件上有一些内部超时障碍,但还没有读到这样的障碍是否存在。

还有其他人遇到过类似的问题吗?或者知道超时是否已记录或可以更改?

0 投票
2 回答
7959 浏览

cocoa - 在 Mac OS X 中更改声音(或其他)系统偏好设置

我希望能够在 Mac OS X 中切换声音输出源而无需任何 GUI 交互。

有一些工具可以控制声音输出,例如SoundSource和一个用于打开首选项对话框的 applescript

我正在寻找的是可以立即切换偏好的东西,比如SoundSource,但它必须是可编写脚本的。目标是一键在我的数字和模拟输出之间切换。我有一个帮助应用程序,它将在一个按键上启动一个程序或 applescript。我现在需要的只是无需任何用户交互即可快速切换声源的applescript 或应用程序。

如果需要的话,我愿意编写一些 Objective-C,但我几乎是 Cocoa 开发的新手。

您是否有一键式解决方案,或者可以为我指出一个关于从 Cocoa 应用程序或命令行控制声音系统首选项的好教程?

编辑:我创建了一个命令行应用程序来做到这一点。您可以在http://code.google.com/p/switchaudio-osx/downloads下载它。源代码也可以在项目站点上找到。

0 投票
8 回答
8055 浏览

objective-c - Objective-C 整洁

我有一个格式有些混乱的 Objective-C 代码库。有没有办法让 Xcode 重新格式化整个项目以符合编码标准(即正确缩进、空格和制表符等)?是否有其他工具可以完成此任务?

0 投票
9 回答
10866 浏览

objective-c - 避免、发现和消除 Cocoa 中的内存泄漏

发生内存(和资源)泄漏。你如何确保他们没有?

您会建议哪些技巧和技术来帮助避免首先造成内存泄漏?

一旦你有一个泄漏的应用程序,你如何追踪泄漏源?

(哦,请避免“只使用 GC”的答案。在 iPhone 支持 GC 之前,这不是一个有效的答案,即使那样 - 可能会在 GC 上泄漏资源和内存)

0 投票
12 回答
183170 浏览

objective-c - 在 Objective-C 中为类定义私有方法的最佳方法

我刚开始编写 Objective-C 并且有 Java 背景,想知道编写 Objective-C 程序的人是如何处理私有方法的。

我知道可能有几种约定和习惯,并将这个问题视为人们在处理 Objective-C 中的私有方法时使用的最佳技术的聚合器。

请在发布时为您的方法提供一个论据。为什么好?它有哪些缺点(你知道)以及你如何处理它们?


至于我到目前为止的发现。

可以使用在 MyClass.m 文件中定义的类别[例如 MyClass (Private)] 对私有方法进行分组。

这种方法有两个问题:

  1. Xcode(和编译器?)不会检查您是否在相应的 @implementation 块中定义了私有类别中的所有方法
  2. 您必须将 @interface 声明您的私有类别放在 MyClass.m 文件的开头,否则 Xcode 会抱怨“self may not respond to message”privateFoo”之类的消息。

第一个问题可以用空类别来解决[例如 MyClass ()]。
第二个让我很困扰。我希望看到在文件末尾附近实现(和定义)私有方法;我不知道这是否可能。

0 投票
4 回答
5007 浏览

objective-c - Objective-C 是编译成原生代码还是字节码?

在 OS X 上,Objective-C 是编译为本机代码还是字节码?

可以在 Linux 上编译 Objective-C 程序吗?