问题标签 [cocoa-design-patterns]

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 投票
1 回答
132 浏览

iphone - 结合翻转视图和导航视图

当我尝试结合 Flipsideview 和导航视图时,出现以下错误“对成员‘代表’的请求不在结构或联合中” controller.delegate = self

0 投票
5 回答
27812 浏览

objective-c - Objective-C 中所谓的“类集群”到底是什么?

我在读 NSArray 就是这样的东西。听起来很沉重。我的办公桌上有 7 本关于 Objective-C、Cocoa 和 C 的非常厚的书。它们都没有提到 Class Cluster,至少我在书后的索引中找不到。那是什么?

0 投票
3 回答
7505 浏览

iphone - 对从 AppDelegate 获取 ManagedObjectContext 感到困惑

我一直在查看有关核心数据的文档,并试图弄清楚如何安排核心数据堆栈,以便我的所有 UITableViewControllers 都可以访问它。Apple 提供的所有示例都表明这是在 AppDelegate 上实现的,但文档不推荐这种方法,因为它太复杂了!见链接

(为什么 iPhone SDK 文档中没有提到这一点是另一个谜)

我的问题是,我已经按照 TopSongs 中显示的核心数据示例重复了设计模式,以检索子表视图的 ManagedObjectContext 实体,并产生以下错误……找不到实体名称“Song”的 NSManagedObjectModel。奇怪的是,这可以在父表视图中找到,所以我认为这是因为 AppDelegate 上的核心数据堆栈已被解除分配。

有谁知道一个很好的例子,它遵循与在 Recipies、CoreData Books 和 Locations 上创建的设计模式不同的设计模式?所有这些都遵循相同的模式。

我要做的就是检索原始数据并在 chid tableview 中使用不同的标准进行排序。

0 投票
2 回答
4476 浏览

iphone - Why does UITableView make so many calls to its delegate & datasource?

Anyone care to shed some light on why UITableView makes so many repeat calls to its delegate & datasource as it's being setup? Just looking at one I'm working on now I see that numberOfSectionsInTableView is called 3 times and then viewForHeaderInSection cycles through 3 more times for each section (I have 2 sections so total of 6 times before being displayed for first time)...all before the first screen is even rendered.

I realize that the API is private but wondering if someone might be willing to offer up some insight into this design pattern and what might be going on behind the scenes so I might learn a thing or two about why so much repetition is considered acceptable (or even advantageous) in this case...or, more likely, how I've managed to foul up applying it.

Edit: Added stack traces before RootViewController tableView is shown for first time

1st time calling viewForHeaderInSection:

2nd call:

3rd call:

4th call:

5th call:

6th call:

0 投票
3 回答
421 浏览

iphone - 什么是 iPhone 应用程序的最佳技术架构?

我正在开发一个应用程序,这是一个巨大的项目。我需要为应用程序创建一个架构,以便我可以为另一个客户端重用代码(应用程序将是模板,我将只更改 UI)。

想应用单例模式,但有一些非常好的设计模式可用,如 MVC、Factory 等。我怎样才能找出我应该在 iPhone 应用程序中实现的最佳设计模式?或者是否有任何可用的代码/教程通过示例进行解释。

0 投票
1 回答
1399 浏览

iphone - iPhone应用程序的披露“i”按钮或V形?

我有一个 UITableView 行,每行都有两个可以执行的操作。可以向用户显示项目详细信息屏幕(编辑名称并查看摘要信息),或者他们可以“打开”项目以正确交互和使用它。目前,第一个动作是通过一个带有标签“i”的圆角矩形按钮实现的,第二个动作是通过选择行开始的(即按下该行上的任何其他位置)。

我知道可以放在行上的 Apple UI 按钮,但我不确定使用哪个。蓝色的“i”按钮是否看起来像是唯一的交互,因此用户不会选择该行?雪佛龙(箭头)看起来会“深入”而不是只显示摘要信息吗?

这是一个风格问题,而不是如何做。希望这在这里仍然合适,

0 投票
3 回答
1535 浏览

iphone - 如何使用 NSData 将布尔值保存和检索到文件中

我想将布尔值保存到文件中,并且我想知道您将如何再次检索它。我主要想在 iPhone 终止并以他们尊重的方法完成启动时使用它。

0 投票
3 回答
3670 浏览

iphone - 我应该如何处理 init: Objective-C 中的方法中的失败?

假设我正在用 Objective-C 为 iPhone 构建一个新类。在我的一种初始化方法中,我想手动分配一些内存。所以,我可能有这样的事情:

现在,假设 calloc() 可能失败,并且未能分配内存对我的对象来说是灾难性的,我应该在 if-body 内部做什么才能正确清理?是否有我应该使用的 Objective-C 习语或模式?

编辑:我包括了 Rob Napier 发布的代码。但是,我仍然必须释放 myObject,对吗?或者添加的代码是否会以某种方式触发 dealloc()?

0 投票
2 回答
9431 浏览

objective-c - 使用 NSPredicate 和 Core Data 建立深层关系

我有一个 NSArrayController,companiesController绑定到顶级核心数据实体,Companies.

ACompany有很多Department,aDepartment有很多Employee;这些由一对多关系表示,departments并且employees.

基于salaryan 的属性,Employee我认为我可以动态地执行此操作,以便在 UI 调用的方法中根据薪水进行过滤:

唉,这给了我错误:-[NSCFSet compare:]: unrecognized selector sent to instance.

0 投票
6 回答
10372 浏览

iphone - 如何将(id)发件人添加到以下-(IBAction)?

如何将(id)发件人添加到以下代码?

我尝试的一切都失败了,任何帮助将不胜感激。谢谢。

编辑:我需要在 (IBAction) 中保留 (UIButton *) 按钮 5 引用