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サブクラスボタンをポイントしています。私が言ったように、英語の場合、これは100%機能しますが、それ以外の場合は機能しません。
これが起こるべき理由はありません。私のコードは100%正しいです。28のviewWithTagに問題があるように見えるのはXcodeです。
何か案は?
よろしく、ココタッチ