Я пытался сделать это перевести Obj-C код для быстрого кода:Swift словарь Строить ошибку
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
[NSNumber numberWithInt: 2], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMax], AVEncoderAudioQualityKey,
nil];
// скор
var settings = [NSNumber.numberWithFloat(Float(44100.0)): AVSampleRateKey,
NSNumber.numberWithInt(Int32(kAudioFormatAppleLossless)): AVFormatIDKey,
NSNumber.numberWithInt(2): AVNumberOfChannelsKey,
NSNumber.numberWithInt(Int32(AVAudioQuality.Max)): AVEncoderAudioQualityKey];
Но я получаю сообщение об ошибке: Тип() не соответствует к протоколу «FloatLiteralConvertible»
Кто-нибудь знает, как исправить это? THX
Сообщение об ошибке вводит в заблуждение, используйте ** NSNumber.numberWithInt (Int32 (AVAudioQuality.Max.toRaw())) **. – vladof81