草庐IT

cocoa-design-patterns

全部标签

swift - 如何将属性字符串(文本)保存到文件(swift、cocoa)中?

我有NSTextView,我可以将文本作为nsattributedstring。我可以使用NSSavePanel将文本作为纯文本而不是格式化文本保存到.txt文件中。@IBActionfuncsaveDNA(sender:AnyObject){letsaveDNAtoFile:NSSavePanel=NSSavePanel()saveDNAtoFile.canSelectHiddenExtension=truesaveDNAtoFile.runModal()do{letexportedFileURL=saveDNAtoFile.URLlettextDNA=self.inputDnaFr

swift - 在 Cocoa OS X AVPlayer 中播放 HLS (m3u8) - Swift

基本上,我正在尝试在CocoaSwift中使用AVPlayer播放m3u8(HLSLiveStream)。我对这门语言比较陌生,所以基本上捕获了一些examplecode用于播放本地视频文件并尝试修改它以播放实时流......但是改为:http://i.stack.imgur.com/bU9GM.png这是我到目前为止得到的(注释行是播放本地文件,它确实有效):importCocoaimportAVKitimportFoundationimportAVFoundationclassViewController:NSViewController{@IBOutletweakvarplaye

swift - Swift/Cocoa 中的 windowNibName 错误?

好吧,这将教会我一年半的Swift编程。显然情况发生了变化。在我过去的程序中,我的MainWindowController中的这个非常开心:classMainWindowController:NSWindowController{overridevarwindowNibName:String?{return"MainWindowController"}...但现在我收到了这个错误:Property'windowNibName'withtype'String?'cannotoverrideapropertywithtype'NSNib.Name?'我一直在谷歌上搜索和浏览StackOve

cocoa - 解包多个 Swift 可选值

我正在尝试用Swift重写部分ObjC代码,很多cocoa对象属性在Swift中返回可选值。有没有更好的模式而不是这种深层嵌套:ifletpanel=self.window{ifletscreens=NSScreen.screens(){ifletscreenRect=screens[0].frame{letstatusRect=CGRectZero... 最佳答案 虽然Leonardo的回答很好,但它可能会导致异常,除非您知道对象是非可选的,更好的模式是这样的,它应该被视为伪代码:ifletframe=NSScreen.scree

cocoa - 如何让填充的组合框在 Swift 中显示其选项?

使用这段代码,我可以在NSComboBox中填充项目,但是当您在应用程序中展开组合框时,它本身始终为空。记录的项目数是准确的。我知道这是相当基本的,但我已经阅读并重新阅读了developer.apple.com上的文档,并在Swift中查找了组合框的示例但无济于事,这让我感到非常惊讶。@IBOutletvarsomeComboBox:NSComboBox!overridefuncviewDidLoad(){super.viewDidLoad()someComboBox=NSComboBox()someComboBox.addItemWithObjectValue("Foo")someC

ios - 添加 Swift 文件 : <unknown>:0: error: could not build Objective-C module 后构建 Swift Cocoa Touch Framework 时出错

我在创建SwiftCocoaTouchFramework时遇到问题。一旦我添加了我的第一个.swift文件,清理,然后构建我得到一个构建错误::0:error:couldnotbuildObjective-Cmodule'MyTextFramework'使用Xcode6.1.1只需几步即可轻松地从头开始重现使用Swift语言创建新的CocoaTouchFramework添加iOSswift文件构建-OK清洁-OK构建-错误从这里开始,除非我删除swift文件,否则项目将不会构建。我已经尝试了典型的Xcode魔术,例如删除派生数据、重新启动Xcode等。下面附有截图的详细步骤:文件>新建

cocoa - 如何在 Swift 中使用文件系统事件 API?

也许我今天的搜索词不太好,但我找不到如何在swift中使用FSEvents的简单示例。我有一个显示文件内容的Cocoa应用程序。当文件在我的应用程序之外更改时,我必须用另一种颜色标记重新加载按钮。我觉得FSEvents是寻找这个的正确位置,或者我应该使用另一个API?您能举个例子说明如何在文件内容更改时恢复事件吗?非常感谢。 最佳答案 再次查看后,我发现了这个小库,它也适用于文件:https://github.com/Eonil/FileSystemEvents 关于cocoa-如何在S

swift 3 cocoa : use QuickLook to preview file in OS X

Xcode8.3.2我在命令列表中找不到QLPreviewPanel,我不知道如何(必须使用哪个命令)在ViewController中显示文件预览。 最佳答案 首先,您需要将importQuartz语句添加到您的NSViewCONtroller。第二步是将QLPreviewPanelDataSource,QLPreviewPanelDelegate添加到它的声明中。接下来你只需要获取共享的引用QLPreviewPanel,使ViewController成为它的dataSource和delegate并使它的窗口键和顺序在前面。您还需要

cocoa - 既然 Swift 中没有预处理器,那么用什么来代替 C 宏呢?

有没有办法在Swift中执行#define、#ifdef和其他强大的宏? 最佳答案 Swift没有预处理器,也不能使用C宏。虽然有一些选择。对于常量,您可以只使用let语句。例如:letdefaultHeight=100也有一些对构建配置的支持。他们有这种格式。#ifbuildconfiguration&&!buildconfigurationstatements#elseifbuildconfigurationstatements#elsestatements#endif您可以用返回true或false的函数os()和arch()

cocoa-touch - 在设备旋转时重新定位 UIPopoverController

我正在尝试在设备旋转时重新定位弹出View。我使用此代码创建弹出框:settingsViewCtrl=storyboard.instantiateViewControllerWithIdentifier("settingsViewCtrl")asSettingsViewCtrl;settingsPopoverCtrl=UIPopoverController(contentViewController:settingsViewCtrl);settingsPopoverCtrl.delegate=self;letm:CGFloat=min(view.frame.width,view.fra