-4

非常に単純な問題であると確信しているものについて、非常にイライラする問題が発生していますが、修正できないようです。次のように出力する final という NSArray があります。

final = (
".DS_Store",
"hey.txt"
)

次の for ループは、最初のパスで false を返し、2 番目のパスで true を返します。私が知る限り、正しく作成されていますが、出力は両方のパスに当てはまります。

for (int i = 0; i < [final count]; i++) {
   if (final[i] != @".DS_Store") {
    NSLog(@"true");
   }
   else {
    NSLog(@"false");
   }

出力:

2013-02-20 17:20:39.042 myAppName [40636:403] true
2013-02-20 17:20:39.042 myAppName [40636:403] true

最初のものが false を返さない理由がわかりません。何か案は?

4

1 に答える 1

2

ポインタを比較しています。[final[i] isEqualToString:@".DS_Store"]文字列を比較するために使用します。

于 2013-02-20T22:27:56.417 に答える