问题标签 [objective-c]

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 投票
6 回答
3858 浏览

java - Java 开发人员在 Mac OS 上遇到 Objective-C

多年前我使用 C++ 进行开发,但现在我主要是一名 Java 软件工程师。鉴于我拥有一部 iPhone,准备下个月购买 MacBook,并且通常对开始使用 Mac OS 开发(使用 Objective C)感兴趣,我想我会提出这个问题:下一步是什么?

更具体地说,我应该拿起什么书,有没有一些人可以指点我的网络资源?我打算购买的一些书:

有人熟悉这些标题吗?最后,一旦我踏上这段旅程,我会对我应该准备好期待什么的总结非常感兴趣。作为使用 IntelliJ IDEA 进行 Java 开发的人,当我转向在 Xcode 中编写 ObjectiveC 代码时,我会注意到哪些关键差异?Mac OS 桌面开发和 iPhone 开发有什么区别?习惯了Java垃圾收集,关于ObjectiveC垃圾收集/内存管理我应该知道些什么。还有其他任何人想指出的语言特定问题吗?如何构建 UI?它更接近于 Swing,构建代码与之交互的 Visual C++ 资源文件,还是更像一些将为 guis 生成代码的 borland IDE?

0 投票
4 回答
14883 浏览

iphone - 如何判断 UIView 是否可见并在屏幕上?

如果我有一个可见的UIView(或UIView子类),我如何判断它当前是否显示在屏幕上(而不是,例如,在当前不在屏幕的滚动视图的一部分中)?

为了让你更好地理解我的意思,UITableView有几种方法可以确定当前可见单元格的集合。我正在寻找一些可以对任何给定的UIView.

0 投票
8 回答
16234 浏览

iphone - NSDateFormatter,我做错了什么还是这是一个错误?

我正在尝试以某种格式打印日期:

如果 iPhone 设置为 24 小时制,这可以正常工作,另一方面,如果用户已将其设置为 24 小时制,然后返回 AM/PM(在您切换此设置之前它工作正常)然后它附加 AM /PM 最后,即使我没有要求它:

我做错了什么还是固件 2.1 的错误?

编辑 1:使描述更清晰

编辑 2 解决方法:事实证明这是一个错误,为了修复它,我将 AM 和 PM 字符设置为“”:

0 投票
26 回答
184265 浏览

objective-c - 我的 Objective-C 单例应该是什么样的?

我的单例访问器方法通常是以下几种变体:

我能做些什么来改善这一点?

0 投票
4 回答
303 浏览

objective-c - 为什么我编译的(小)Objective-C 文件的一半是一大块零?

我在文本编辑器中打开了我编译的 Hello World Obj-C 应用程序,令我惊讶的是,我发现了大约 8 KB 的 00 00 00 00 00 00 00 00 ...。

这些为什么会在这里?有没有办法清除这些零(我怀疑它有太多功能)?

显然它在这个文件中并不那么重要,因为它开始只有 16kB,但我还是想知道。

0 投票
89 回答
240279 浏览

objective-c - Xcode 的隐藏功能

随着大量新手涌入 Xcode,我确信有很多 Xcode 提示和技巧可以分享。

你的是什么?

0 投票
7 回答
6988 浏览

objective-c - 制作 .webloc 文件

我正在编写一个程序(对于 Mac OS X,使用 Objective-C),我需要以编程方式创建一堆 .webloc 文件。

.webloc 文件是在您将 URL 从 Safari 的位置栏拖放到某个文件夹后创建的简单文件。

一般来说,我需要一种方法来在文件系统中创建指向 Web 中某个位置的项目。据我了解,应该在 Mac OS X 上使用 .webloc 文件。

那么,是否可以制作一个具有有效 url 和一些标题的 .webloc 文件?

0 投票
4 回答
3002 浏览

objective-c - performSelectorOnMainThread 实现的底层细节:

想知道是否有人知道或有指向讨论 Cocoa 的“performSelectorOnMainThread:”方法的低级实现细节的好文档的指针。

我最好的猜测,我认为可能非常接近的猜测是,它使用 mach 端口或在它们之上的抽象来提供线程内通信,将选择器信息作为 mach 消息的一部分传递。

对?错误的?谢谢!

更新 09:39AMPST

谢谢 Evan DiBiase 和 Mecki 的回答,但要澄清一下:我了解运行循环中发生的情况,但我正在寻找的答案是;“方法在哪里排队?选择器信息如何传递到队列中?” 寻找的不仅仅是 Apple 的文档信息:我读过它们

太平洋标准时间 14:21 更新

Chris Hanson 在评论中提出了一个很好的观点:我的目标不是为了在我自己的代码中利用它们而学习底层机制。相反,我只是对更好地理解向另一个线程发出信号以执行代码的过程的概念性理解感兴趣。正如我所说,我自己的研究使我相信它利用了 IPC 的 mach 消息传递在线程之间传递选择器信息,但我专门寻找关于正在发生的事情的具体信息,所以我可以确定我理解事情正确。谢谢!

2009 年 3 月 6 日更新

我在这个问题上开了一个赏金,因为我真的很想看到它得到回答,但如果你想收集,请确保你阅读了所有内容,包括所有当前提出的答案,对这些答案和我的原始问题的评论,以及我在上面发布的更新文本。我正在寻找by 等使用的机制的最低级别细节performSelectorOnMainThread:,正如我之前提到的,我怀疑它与 Mach 端口有关,但我真的很想知道。除非我能确认给出的答案是正确的,否则不会授予赏金。谢谢大家!

0 投票
7 回答
51891 浏览

objective-c - 让 NSRunLoop 等待设置标志的最佳方法?

NSRunLoop的 Apple 文档中,有示例代码演示了在等待其他东西设置标志时暂停执行。

我一直在使用它并且它可以工作,但是在调查性能问题时,我将其追踪到了这段代码。我使用几乎完全相同的一段代码(只是标志的名称不同:),如果我NSLog在设置标志后(以另一种方法)放在一行上,然后在后面的一行while()有一个看似随机的在两个日志语句之间等待几秒钟。

在速度较慢或速度较快的机器上,延迟似乎没有什么不同,但每次运行之间的延迟确实有所不同,至少为几秒,最多为 10 秒。

我已经使用以下代码解决了这个问题,但原始代码不起作用似乎并不正确。

使用此代码,设置标志时和 while 循环之后的日志语句现在始终相隔不到 0.1 秒。

有人知道为什么原始代码会表现出这种行为吗?

0 投票
1 回答
287 浏览

objective-c - OS X 10.5 中的文件共享 API 或框架。*

是否有任何编程接口或 CLI 用于更改 OS X Leopard 中的网络或文件共享设置?