2014-12-04 2 views

ответ

10

Вы используете массив Foundation (NSMutableArray), так что вы должны использовать номер Foundation объект:

ma.addObject(NSNumber(longLong:number)) 

Вы можете также использовать нативный быстрый массив:

var ma = [Int64]() 
ma.append(number) 
+0

Спасибо. Я хочу, чтобы NSMutableArray() использовал .objectAtIndex :) –

+2

Старые привычки умереть. – Mundi

+0

Нет, я просто не знаю, как найти индекс в быстром массиве :) –

9

Как так много Swift, это реализовано в Swift.

Таким образом, вы можете сделать это (или эквивалент для типов, которые вы хотите), которые волшебным образом делают возможным использовать Int64, где язык ожидает AnyObject:

extension Int64 : _ObjectiveCBridgeable 
{ 
    public init(_ number: NSNumber) 
    { 
     self.init(number.longLongValue) 
    } 

    public func _bridgeToObjectiveC() -> NSNumber 
    { 
     return NSNumber(longLong: self) 
    } 

    public static func _getObjectiveCType() -> Any.Type 
    { 
     return NSNumber.self 
    } 

    public static func _isBridgedToObjectiveC() -> Bool 
    { 
     return true 
    } 

    public static func _forceBridgeFromObjectiveC(source: NSNumber, inout result: Int64?) 
    { 
     result = source.longLongValue 
    } 

    public static func _conditionallyBridgeFromObjectiveC(source: NSNumber, inout result: Int64?) -> Bool 
    { 
     result = source.longLongValue 
     return true 
    } 
} 
+0

Это решение также было дано здесь: http://stackoverflow.com/a/35893518/1187415. –

Смежные вопросы