0

コードに があり、その配列の最後の要素にアクセスして、その要素を整数変数NSMutableArrayに保存したいと考えています。nしかしn、正しい値が得られない場合NSLogは、ガベージ値が得られます。

 for(int i=0;i<[array3 count];i++)
    {
        if(i==([array3 count]-1))
        {
            n = [array3 objectAtIndex:i];
        }    
    }

    NSLog(@"The id is=%d",n);

    NSError *error;
    NSString *aDocumentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
        NSString *dataPath = [aDocumentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%d",n]];
      [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];
4

2 に答える 2

0

オブジェクトをプリミティブにキャストしようとしている可能性が高いため、ガベージ値を与えています。

また、その for ループは不要です。

n = [[array3 lastObject] integerValue];

必要なものはすべて揃っているはずです。それでもガベージである場合は、配列内のオブジェクトがガベージである (または整数にキャストできない) ためです。その時点で、array3 をセットアップしている場所を見てください。

于 2013-07-18T16:36:40.650 に答える