for (int i = 1; i < [[[UILocalizedIndexedCollation currentCollation] sectionTitles] count]+1; i++) {
HeaderButton *headerLabel = (HeaderButton *)[tileView viewWithTag:i];
}
大家好,我正在使用 For 循环来遍历我的 XIB 文件中的按钮网格。对于英语本地化,它可以 100% 工作并在网格中找到所有 26 个按钮。
如果您注意到,我正在使用 LocalizedIndex,它将为我返回适当的“小于 NUMBER_HERE”语句。对于日语,它返回 < 38,应该找到所有 37 个按钮。
现在奇怪的问题。日语、西班牙语甚至中文本地化的相同 for 循环将无法正常工作。
我正在失去理智。我插入了 NSLog 语句,它告诉我,它找到标签最多为 27 个的按钮(日语可能有 37 个,西班牙语可能有 30 个等),然后它在 28 处崩溃,告诉我:
-[UIView setTitle:forState:]: unrecognized selector sent to instance 0x1dd6b640
我知道 UIView 没有 setTitle:forState: 方法。我使用上面的 cast 语句来指向特定视图中的 Button Subclass 按钮。就像我说的那样,对于英语,这 100% 有效,但对于其他任何东西,它都不起作用。
没有理由发生这种情况。我的代码是 100% 正确的。Xcode 的 viewWithTag 为 28 似乎有问题。
有任何想法吗?
问候,椰子