В моем iOS-приложении на одном из экранов я использую метку, текст которой должен меняться в зависимости от количества объектов: одно яблоко, два яблока S и другие .. Я создал Localizable.stringdict file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>searches</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@search_count@</string>
<key>search_count</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>s</string>
<key>one</key>
<string>остался %s поиск</string>
<key>many</key>
<string>осталось %s поиска</string>
<key>other</key>
<string>осталось %s поиска</string>
</dict>
</dict>
Позже в классе viewController я создал функцию
private func searches(_ count: UInt) {
let format: String = NSLocalizedString("searches", comment: "")
let result: String = String.localizedStringWithFormat(format, count)
print(result)
}
и вызвал эту функцию в viewDidLoad.
При запуске приложения происходит сбой с ошибкой Поток 1: EXC_BAD_ACCESS (код = 1, адрес = 0x0) .
Отладчик указывает строку, где Результат создано.Насколько я понимаю, проблема в том, что Формат не создан.
Как можно решить эту проблему?