小编Ale*_*lex的帖子

Objective-C类中的Swift协议

SearcherProtocol在Swift中写道,需要实现一个FileSearcher必须使用这个协议的Objective-C类.

所以我尝试了这个:

#import <Foundation/Foundation.h>

@interface FileSearcher : NSObject <SearcherProtocol>

// ... class content

@end
Run Code Online (Sandbox Code Playgroud)

编译告诉我

找不到'SearcherProtocol'的协议声明

modulename-Swift.h正在导入相应的桥接头文件()FileSearcher.m.

导入SearcherProtocolFileSearcher.h抛出另一个编译器错误:module name-swift.h file not found

有没有人知道我做错了什么?

我正在使用Xcode 6 Beta 5.

编辑

这是Swift中的协议声明:

@objc protocol SearcherProtocol
{    
    var searchNotificationTarget: SearchCompletedProtocol? { get }
    var lastSearchResults: [AnyObject] { get set }

    func search(searchParam: String, error: NSErrorPointer) -> Bool
}
Run Code Online (Sandbox Code Playgroud)

而SearchCompletedProtocol:

@objc protocol SearchCompletedProtocol
{
    func searchCompletedNotification(sender: AnyObject!)
}
Run Code Online (Sandbox Code Playgroud)

objective-c swift

39
推荐指数
3
解决办法
3万
查看次数

Xcode 5:辅助编辑器中默认的对应部分

我开始用Xcode 5开发应用程序,我想知道助理编辑器的行为.几个星期前它总是打开文件的对应部分(打开.h文件,打开相应的.m文件等).

由于几周它总是在"手动"模式下打开一个"随机"文件,所以我总是需要手动切换回"对应部分".

有没有人知道是否有一个选项(在Xcode配置中的任何地方)可以恢复旧的行为?开始输入然后意识到我已经改变了一个我不想改变的文件,这非常烦人.

搜索此论坛后,我找到了一个建议删除"派生文件"的帖子.我这样做了(重新启动Xcode并重新构建了项目),但它没有用.

提前致谢.

亚历克斯

editor xcode5

8
推荐指数
0
解决办法
253
查看次数

Swift项目中的特权助手工具

我已经使用Swift创建了一个Xcode项目,并使用了Objective-C创建了一个特权助手工具。helper工具在也是在Objective-C中创建的项目中可以很好地工作,但是在用Swift创建的项目中似乎不起作用。

服务本身正在安装。我可以在/Library/PrivilegedHelperTools目录中看到辅助二进制文件,并且它的权限似乎还可以(以及用户:)root。使用项目删除帮助程序会launchctl导致在我的项目运行时(按预期方式运行)重新安装该工具,但是我无法调用该帮助程序工具的任何方法。

既不会引发任何异常,也不会发生任何其他错误(至少似乎没有错误,因为控制台也什么也不显示)。

有人知道这可能与Swift无关吗?因为在另一个项目(用Objective-C编写)中运行相同的帮助工具非常有效。

cocoa objective-c swift

5
推荐指数
1
解决办法
688
查看次数

从笔尖名称创建NSWindow

我正在尝试从自己的nib文件创建一个NSWindow,但它似乎比我预期的更难...

NSWindowController提供了init(windowNibName: String?)一种可以被子类覆盖的方法.似乎不可能在init(windowNibName: String?)不覆盖它的情况下调用基类(编译器显示错误消息,即没有采用该String参数的初始化程序).

但是当重写此init(...)方法时,您必须遵循初始化链,这会强制您调用指定的初始化程序.这个指定的初始化程序是init(window: NSWindow!).

这就是我现在被困住的地方......似乎我必须创建一个NSWindow对象(不知何故)才能将它传递给指定的初始化程序.但我不知道如何从nib文件创建NSWindow.

有人有任何线索吗?

cocoa swift

3
推荐指数
2
解决办法
4147
查看次数

标签 统计

swift ×3

cocoa ×2

objective-c ×2

editor ×1

xcode5 ×1