Swift

Swift:[info.path copy]で少し困っています。

解決方法は?

xFileArray = [NSMutableArray new];  //ファイル名をsaveする配列の初期化
for (DBFileInfo *info in contents) {   //#ファイル名一覧をひとつずつ取り出す。
NSString *wpath     = [info.path copy]; //ファイル名
NSString *wtype     = @””;
NSInteger wsize     = [wpath length]; //ファイル名文字数
if (wsize > 5) {                                                //
[wtype substringFromIndex:wsize-3];  //wtype=ファイルタイプ
if ([wtype isEqualToString:@”jpg”]) {  //.jpgのとき、
[xFileArray addObject:wpath];     //ファイル名をsave
}
}
}

このロジックで配列にファイル名が入ることを確認できました。

問題なのは、次に.jpgだけを配列に入れようと上記のように変更したら、NSInteger wsize     = [wpath length]; でエラー-[DBPath length]: unrecognized selector sent to instance 0x608000076ec0が発生しました。

それで、wpathをNslogで表示したら、正しいファイル名が入っていました。また、直前にwpath = @”1234″という行を入れたら、これは正しく4文字という文字数が得られました。

ということは、上記の書き方では、wpahtはNSStringとして認識されていないということになるのでしょうか?

Categories: Swift, 技術