Я пытаюсь переписать следующий код из Темы программирования строки состояния в Swift.
NSStatusBar *bar = [NSStatusBar systemStatusBar];
theItem = [bar statusItemWithLength:NSVariableStatusItemLength];
[theItem retain];
[theItem setTitle: NSLocalizedString(@"Tablet",@"")];
...
Мой код Swift:
let bar = NSStatusBar.systemStatusBar()
let sm = bar.statusItemWithLength(NSVariableStatusItemLength)
sm.title = "Tablet"
...
Проблема заключается в том, что метод statusItemWithLength
в Swift исключает CGFloat
, но NSVariableStatusItemLength
определяется как CInt
в Swift. Я вижу следующую ошибку:
'CInt' is not convertible to 'CGFloat'
Определение в Xcode:
var NSVariableStatusItemLength: CInt { get }
var NSSquareStatusItemLength: CInt { get }
class NSStatusBar : NSObject {
class func systemStatusBar() -> NSStatusBar!
func statusItemWithLength(length: CGFloat) -> NSStatusItem!
...
}
Я что-то делаю неправильно? Как я могу это исправить?