2015-06-16 24 views
0

你如何在Swift中调用HIDictionaryWindowShow?我试试这个:HIDictionaryWindowShow在Swift中的用法

import Carbon 

if let text = _dictionaryText, let range = _dictionaryRange 
{ 
    let font = CTFontCreateWithName("Baskerville", 16, nil); 
    let point = CGPoint(x: 0.0, y: 0.0); 
    var trns = CGAffineTransform(); 
    HIDictionaryWindowShow(nil, text, range, font, point, false, &trns); 
} 

但得到错误

不能援引 'HIDictionaryWindowShow' 与 类型的参数列表 '(NIL,字符串,CFRange,CTFont!CGPoint,布尔,CGAffineTransform)'

这里没有看到错误的参数。第一个和最后一个参数应该被允许为nil,但是docsNULL是OK,因为第一个参数是在Swift中是nil还是它?由于Swift中没有NULL,我需要指定什么来代替它?

回答

0

对不起,我没有Swift代码,但你可以从下面未经测试的Objective-C代码工作。请注意,添加showDefinitionForAttributedString是为了替换HIDictionaryWindowShow,如您所知,它是一个碳函数,并且不会永远支持。

[self.view showDefinitionForAttributedString:[[NSAttributedString alloc] initWithString:text] atPoint:NSMakePoint(0.0, 0.0)]; 

编辑:

在进一步寻找第二个参数是不是在你的例子是正确的。碳库不理解String,它想要CFTypeRef

相关问题