Objective-C:是否可以在与模式绑定中使用复数规则?

时间:2018-08-16 08:21:57

标签: objective-c xcode binding plural

我有一个众所周知的“选择总数中的问题”的问题:如果我在xib中工作,我会使用 DisplayPattern Value1 Value2 ,其中模式为{ {1}},它可以工作。现在,我想本地化我的应用程序:因此,我在"#{value1}@ selected out of %{value2}@"方法中插入了代码

applicationDidFinishLaunching

NSString *formatString = NSLocalizedString(@"%{value1}@ selected out of %{value2}@",@""); [self.labelNum bind:@"displayPatternValue1" toObject:self.arrayCtrl withKeyPath:@"selection.@count" options:@{NSDisplayPatternBindingOption: formatString}]; [self.labelNum bind:@"displayPatternValue2" toObject:self.arrayCtrl withKeyPath:@"arrangedObjects.@count" options:@{NSDisplayPatternBindingOption: formatString}]; 是对象的数组控制器。 现在它仍在工作。但是现在我想使用self.arrayCtrl来说明各种情况。我的清单是:

.stringsdict

我还尝试更改NSLocalizedString调用中的键和<?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>%{value1}@ selected out of %{value2}@</key> <dict> <key>NSStringLocalizedFormatKey</key> <string>%#@selected_objects@</string> <key>selected_objects</key> <dict> <key>NSStringFormatSpecTypeKey</key> <string>NSStringPluralRuleType</string> <key>NSStringFormatValueTypeKey</key> <string>u</string> <key>zero</key> <string>None selected out of %#@total_objects@</string> <key>one</key> <string>One object selected out of %#@total_objects@</string> <key>other</key> <string>%u selected out of %#@total_objects@</string> </dict> <key>total_objects</key> <dict> <key>NSStringFormatSpecTypeKey</key> <string>NSStringPluralRuleType</string> <key>NSStringFormatValueTypeKey</key> <string>u</string> <key>zero</key> <string>none</string> <key>one</key> <string>one object</string> <key>other</key> <string>%u</string> </dict> </dict> </dict> </plist> 中的相应字符串,但是结果始终相同:字段文本将第一个值显示为字符串:.stringsdict , 在这种情况下。我还尝试将问题分解为带有模式的简单绑定,但结果没有改变。 这是否意味着不可能将复数规则与绑定一起使用? 还是我想念什么?我在Google上搜索了很多,但没有发现类似情况。

0 个答案:

没有答案