Tag: cocoa

如何避免添加多个NSNotification观察者?

现在,API似乎没有提供一种方法来检测是否已经为特定的NSNotification添加了观察者。 避免添加多个NSNotification观察者,而不是维护一个标志以保持跟踪的最好方法是什么? 有没有人已经创build了一个类别来方便这个?

在Objective-C类中混合使用C函数

我正在编写一个Objective-C类,但是它使用了用C语言编写的API。将C调用与Objective-C调用混合导致几乎没有问题,这大体上是好的。 但是,其中一个API调用需要callback方法(示例): success = CFHostSetClient(host, MyCFHostClientCallBack, &context); 其中MyCFHostClientCallBack是这样定义的C函数: static void MyCFHostClientCallBack(CFHostRef host, CFHostInfoType typeInfo, const CFStreamError *error, void *info); 可以/我如何调用Objective-C方法代替这个? 可以/应该将C函数与我的Objective-C调用混合吗? 如何将C函数与Objective-C方法混合?

OS X – NSViewController如何find它的窗口?

我有一个基于文档的核心数据应用程序。 主文档窗口有许多视图,每个视图都由自己的自定义NSViewController控制,并根据需要进行切换。 我希望每个这些视图控制器能够从文档窗口下拉自定义模态表。 但是因为视图是分开的,而不是在MyDocument nib我不能将视图链接到IB中的文档窗口。 这意味着当我打电话 [NSApp beginSheet: sheetWindow modalForWindow: mainWindow modalDelegate: self didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) contextInfo: nil]; 我为mainWindow提供nil,因此表单分离。 有什么build议么? 非常感谢

使用渐变背景deviseUITableViewCells的样式

我一直在寻找方法来提高我的iPhone应用程序的整体吸引力。 大部分的function发生在UITableView中。 我想我可以从UITableViewCells添加微妙的渐变开始,因为这似乎将应用程序的感觉提高了一个数量级。 select适当的字体/大小也有很大的帮助。 我对这个论坛的问题是,向UITableViewCells添加渐变的最佳策略是什么? 你正在使用核心graphics/石英? 你使用1×1像素的图像,并扩展它? 我很喜欢Tumblr iPhone应用程序的以下屏幕截图: http : //dl-client.getdropbox.com/u/57676/screenshots/tumblr.jpg 有没有人有任何如何使你的UITableViewCell伸出的好例子? 而出于性能的原因,使用图像还是使用Quartz绘图更好? 如果Quartz,我很想看到一些示例代码,人们如何绘制渐变到单元格中。 谢谢。

在Swift中重新初始化一个懒惰的初始化variables

我有一个variables,初始化为: lazy var aClient:Clinet = { var _aClient = Clinet(ClinetSession.shared()) _aClient.delegate = self return _aClient }() 问题是,在某些时候,我需要重置这个aClientvariables,以便它可以在ClinetSession.shared()更改时再次初始化。 但是,如果我把课程设置为可选的Clinet? ,当我尝试将它设置nil时,LLVM会给我一个错误。 如果我使用aClient = Clinet(ClinetSession.shared())在代码中的某处重置它,它将以EXEC_BAD_ACCESS结束。 有没有办法可以使用lazy和被允许重置自己? 谢谢!

无法使用Xcode 4构build – 选定的运行目标对此操作无效

所以我非常困惑这个错误,Stack Overflow上的其他线程提到我应该设置SDK,但我看不到这样做的select。 我试图build立: http : //wafflesoftware.net/shortcut/ 而我没有select,我只能select我的Mac 64位,我想要它在32位。 真的开始讨厌Xcode 4了。 下面是我试图编辑我的scheme时的截图: http : ../../../scheme.png 思考?

将工具栏添加到UITableViewController

将UIToolBar添加到UITableViewController最简单的方法是什么? 我依赖于编辑function,所以我不能轻松地将UITableViewController更改为UIViewController。

viewDidLoad在NSViewController?

在iPhone中,我做UIViewController viewDidLoad并写一些设置代码来设置视图。 但我怎么能在NSViewController中做到这一点? 我已经试过loadView,但它不工作…也许我做错了什么,我不知道… PS:我刚刚开始使用OSX / iOS编程,所以对不起,如果我问一些愚蠢的:(

我如何dynamic地隐藏视图中的button?

我想在一个视图中dynamic地隐藏一个button,具体取决于一定的条件。 我试图添加一些代码到视图控制器的-viewWillAppear方法,使显示实际视图之前隐藏button,但我仍然不知道如何做到这一点。 我通过一个IBOutlet参考了button,但我不确定如何从这里前进。 作为参考,这是一个UIBarButtonItem实例。

防止其他程序员调用-init的最好方法

在devise类层次结构时,有时子类已经添加了一个新的initWithSomeNewParam方法,并且希望禁用对从超类inheritance的旧的init方法的调用。 首先,我在这里读到了这个问题,其中提出的替代方法是覆盖init以在运行时抛出exception,或覆盖并设置属性的默认值。 在我的情况下,我不想提供默认值,我想清楚地指出不应该调用旧的方法,而应该使用带有参数的新方法。 所以运行时exception是好的,但是除非代码被debugging,否则团队中的其他程序员没有办法注意到旧方法不再被使用。 如果我是正确的,那么就没有办法将方法标记为“私人”。 所以,除了添加评论,有没有办法做到这一点? 提前致谢。