草庐IT

cocoa-design-patterns

全部标签

swift - Reactive Cocoa/Reactive Swift - Swift 3.0 缺少方法

自从我为需要ReactiveSwift的Swift3.0更新了ReactiveCocoa(RAC5)后,我找不到事件方法比如UITextField上的textField.rac_textSignal,或者UICollectionViewCell上的cell.rac_prepareForReuseSignal。我导入了两个框架,我认为问题在于他们更新了框架并更改了方法的名称。但是我没有找到Swift3.0的更新文档。我在我的项目中将ReactiveCocoa/ReactiveSwift作为子模块安装,而不是来自Carthage,也许问题出在这里?(像那样:https://github.c

swift - 在 Swift Cocoa App 中实现 "Open file with"

我正在使用Swift开发一个macOScocoa-app,我将几种不同的文件类型导入到应用程序中供用户进行交互。我目前正在尝试确定是否可以实现“打开文件”功能,以便用户可以根据需要在不同的程序中打开这些文件:我发现了一些不同的SO问题,它们似乎与我正在尝试做的事情无关:Swift:Howtoopenfilewithassociatedapplication?LaunchOSXFinderwindowwithspecificfilesselected...但到目前为止,没有任何迹象表明是否可以按照我想到的方式实现右键单击Finder/文件(?)访问。如果这个问题太模糊,我们深表歉意;任何

swift - 从 Cocoa 中的 C api 调用 Swift 闭包时出现访问错误

我正在尝试在macOS上的Swift中实现“带进度的文件复制”。经过大量搜索,我刚刚找到rustle'simplementinObjective-C.它工作得很好。但我希望它“swift”。我尝试了一些简化的代码:importCocoa@NSApplicationMainclassAppDelegate:NSObject,NSApplicationDelegate{varcopyfileCallback:copyfile_callback_t={(what,stage,state,sourcePath,destPath,context)->Int32inreturnCOPYFILE_C

cocoa-touch - 在扩展中添加便利初始化器并在子类上调用它们

我正尝试在Swift中向UIView添加扩展方法,如下所示:extensionUIView{convenienceinit(superview:UIView){self.init(frame:CGRect())superview.addSubview(self)}}稍后,我可以使用这个新的初始化器,但只能在UIView上,我不知道如何在我自己的子类上使用它。varpoView:UIView=UIView(superview:someSuperview)//JustdandyvarmyViewSubclass:MyViewSubclass(superview:someSuperview)

design-patterns - 如何在不抛出异常的情况下将对象映射到 Swift 中的枚举

我有一些数组需要映射到枚举数组:letplanets=["Earth","Mars","Venus"]enumPlanet{caseEarthcaseMarscaseVenus}数组经过审查(例如,我在转换前对其进行了过滤)现在,在我的映射函数中funcstringToPlanet(planetStr:String)->Planet{switchplanetStr{...default:return???}}我必须在默认部分返回一些东西,所以我有以下选择:在枚举中添加一个“未知”行星(但我100%知道我枚举中的所有行星都是已知的)返回星球?和.None默认情况下(最干净,但我需要非可选

cocoa - Xcode 6.1 中新的基于文档的 OS X 应用程序模板

Xcode6.1为使用CoreData的基于文档的应用程序提供了全新的模板。现在不需要子类化NSWindowController因为在10.10中NSViewController有更多的权力并且作为默认View管理器包含在模板中。默认情况下甚至还有AppDelegate,这很棒。但我陷入了非常愚蠢的境地。我正在使用核心数据。而且我无法在应用程序加载时获取currentDocument!我是认真的!在应用程序完成启动之前调用所有MVC堆栈。我有一些对象需要根据具有NSPersinstentDocument实例的核心数据项绘制。但是当调用ViewController的viewDidLoad

cocoa - 可选类型和 UIDynamicAnimator 的问题

我正在阅读O'Reilly的SwiftDevelopmentwithCocoa并收到以下错误:BoundvalueinaconditionalbindingmustbeofOptionaltype针对以下代码:importUIKitclassViewController:UIViewController{@IBOutletweakvarimageView:UIImageView!vardynamicAnimator=UIDynamicAnimator()overridefuncviewDidAppear(animated:Bool){super.viewDidAppear(animat

cocoa - 'NSTextView' 没有名为 'setString' 的成员

我是Cocoa的新手,我想替换NSTextView的内容。我在NSText中找到了一个名为setString的函数,NSTextView继承了NSText。那么为什么会出现错误:NSTextView'没有名为'setString的成员谢谢。现在,我必须使用NSTextView.insertText来插入一些文本。 最佳答案 实际属性是string。Objective-C生成getter和setter(如果不是只读的)方法,因此您可以覆盖它们的行为。Swift具有用于自定义行为的方法观察器,因此您不需要自定义getter/setter

cocoa-touch - Swift 的内置函数列表在哪里?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion因为我是Swift的新手,所以当我想做一些基本的事情时,我会“重新创建”实际上已经创建的函数(内置函数:排序、等于、查找、包含等)所以我想知道您是否有所有这些功能的详细信息和解释的链接(还有示例就太棒了!)我找到了this但它已经很旧了(2014年6月)并且没有记录所有内容。

cocoa - 如何让 ViewController 成为第一响应者?

我正在制作一个“LearnToTypeQuick”应用程序,因此我需要验证我的键盘按下以查看它们是否与我在view上打印的内容相匹配。我想在我的ViewController中使用keyDown事件,因此我需要ViewController成为第一响应者。我的问题是:我该怎么做? 最佳答案 IwouldliketousethekeyDowneventinmyViewControllerandthereforeineedtheViewControllertobecomefirstresponder.您可能并不实际上需要它。响应者链的全部意