草庐IT

cocoa-design-patterns

全部标签

cocoa - NSTableView:检测鼠标点击连同行和列

我试图检测鼠标点击何时发生在NSTableView中,何时发生,以确定被点击的单元格的行和列。到目前为止我已经尝试使用NSTableViewSelectionDidChangeNotification,但是有两个问题:它仅在选择更改时触发,而我想要每次鼠标单击,即使它是在当前选定的行上。调用我的委托(delegate)时,NSTableView的clickedRow和clickedColumn属性均为-1。是否有更好(和正确)的方法来做到这一点? 最佳答案 有一个简单的方法。在macOS10.12.2和Xcode8.2.1上使用Sw

cocoa - 二元运算符 '+' 不能应用于两个 CGFloat 操作数?

在Swift中编码并得到上述错误...消息是否掩盖了其他内容,或者您​​真的不能添加两个CGFloat操作数吗?如果不是,为什么(到底)不呢?编辑我尝试编写的代码没有什么特别之处;有趣的是,上面的错误消息VERBATIM是Swift助手编译器告诉我的(用红色波浪线在我的代码下划线)。运行Xcode6.3(Swift1.2) 最佳答案 绝对有可能,使用二元运算符“+”添加两个CGFloat变量。你需要知道的是结果变量也是一个CGFloat变量(基于类型推理原则)。letvalue1:CGFloat=12.0letvalue2:CGFl

ios - IB Designables : Failed to render and update auto layout status

我有一个自定义View(xib),其中有一个UIButton,我使idIBDesignable执行以下操作:UserView.swiftimportUIKit@IBDesignableclassUserView:UIView{@IBOutletvarview:UIView!@IBOutletweakvaruserButton:UIButton!overrideinit(frame:CGRect){super.init(frame:frame)load()}requiredinit?(coderaDecoder:NSCoder){super.init(coder:aDecoder)loa

ios - Swift框架依赖于cocoa pod

使用最新版本的cocoapods(0.36)我可以将用swift(例如Alamofire)编写的cocoapods嵌入到我的swift项目中。现在在项目中引入了自己的自定义框架,也想依赖Alamofire。为了实现这一点,我所做的是选择将pods框架作为依赖项添加到我的框架中:为我自己的嵌入式Swift框架(Swift模块)选择目标,并在“链接的框架和库”的“常规”选项卡中,我将“Pods.framework”添加为“必需”。但是,这还不足以进行编译,因为我自己的swift框架中的类无法“导入Alamofire”,因为它未被识别为“可用框架”。将Pods.debug.xcconfig和

swift - Swift Playground 中没有这样的模块 'Cocoa'

我正在尝试遵循WWDCPlaygroundsession中使用的一些代码,我正在尝试导入Cocoa框架:importCocoa但是我在助理编辑器中得到以下错误Playgroundexecutionfailed:error::3:8:error:nosuchmodule'Cocoa'如果有帮助的话,我在视频的41:20。 最佳答案 您使用的是iOSplayground(基于UIKit),而不是OSXplayground(基于Cocoa)。尝试创建一个新的Playground并选择“OSX”而不是“iOS”作为类型。之后它应该可以正常工

swift - 构建纯 Swift Cocoa Touch 框架

我正在使用Xcode-6探索Swift,到目前为止一切顺利,尽管我认为新的集合需要一些工作,因为我已经设法破坏了编译器几次。问题是我现在一直在尝试创建框架包以然后在另一个项目中使用。该项目构建没有问题,所有测试都成功通过。当我去创建存档(我认为这是必需的)时,我收到错误::0:error:underlyingObjective-Cmodule'Sample'notfound现在我假设这与我的Sample.h的内容有关,它告诉我//Inthisheader,youshouldimportallthepublicheadersofyourframeworkusingstatementsli

cocoa - Swift 协议(protocol) : method does not override any method from its superclass

由于Xcode6仍然有很多Swift的错误,我不确定是一个错误还是我遗漏了什么。我的类采用协议(protocol)NSLayoutManagerDelegate。但似乎不可能覆盖我需要的方法。我按照文档描述的那样做:overridefunclayoutManager(_aLayoutManager:NSLayoutManager!,didCompleteLayoutForTextContaineraTextContainer:NSTextContainer!,atEndflag:Bool){}但我在这里遇到错误:方法没有覆盖其父类(superclass)中的任何方法。我该怎么办?

ios - 我可以在创建 Cocoa Touch Framework 时使用 CocoaPods 吗?

我正在创建一个新的CocoaTouch框架(MyFramework.framework),它将依赖于Alamofire。这个框架将用Swift编写。作为测试,我开始了一个新的CocoaTouchFramework项目:File>New>Project>Framework&Library>CocoaTouchFramework然后,在我执行的终端中:podinit在这个项目目录下。在新创建的Podfile中,我添加了以下内容:source'https://github.com/CocoaPods/Specs.git'#Uncommentthislinetodefineaglobalpla

Xcode 6 测试版 : No such module 'Cocoa'

我正在尝试在Xcode6Beta的swift文件中使用标准Cocoa库。我关注了thisinstructions但是当我导入库时importCocoaXCode提示错误Nosuchmodule'Cocoa'我也尝试过使用REPL,完全没有问题。我想这是一个错误,因为我开始了不同的项目,只是有时我会收到这个错误。有什么建议么?我正在使用Mavericks(10.9.3) 最佳答案 替换importCocoa与:importUIKit 关于Xcode6测试版:Nosuchmodule'Coc

cocoa - 哪个是 isnan() 的 Swift 等价物?

哪个等同于Swift中的isnan()?我需要检查一些操作结果是否有效并删除那些无效的x/0谢谢 最佳答案 它在FloatingPointNumber中定义协议(protocol),这两个Float和Double类型符合。用法如下:letd=3.0letisNan=d.isNaN//Falseletd=Double.NaNletisNan=d.isNaN//True如果您正在寻找一种方法来自己进行此检查,您可以。IEEE定义NaN!=NaN,这意味着您不能直接将NaN与数字进行比较以确定其是否为数字。但是,您可以检查maybeNaN