Rya*_*yan 0 url for-loop objective-c nsarray ios
我正在寻找循环我的NSArray*urls - 对每个对象进行一些字符串调整.
但是,一旦它进入For循环并尝试调整NSString*的东西 - 这会引发异常.
关于为什么我难倒的任何想法?
- (void)GetData
{
NSFileManager *fm = [NSFileManager defaultManager];
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
directory = [NSString stringWithFormat:@"%@/%@/%@/%@", directory, self.researcherID, self.participantID, testTypeString];
directory = [directory stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSURL *url = [NSURL URLWithString:directory];
NSArray *urls = [fm contentsOfDirectoryAtURL:url includingPropertiesForKeys:nil options:0 error:&error];
for (int x = 0; x < urls.count; x++) {
NSString *urlIndex = urls[x];
NSString *thing = [urlIndex stringByReplacingOccurrencesOfString:@"%20" withString:@" "];
thing = [thing stringByReplacingOccurrencesOfString:@"file://" withString:@""];
// add thing to new array but crashes before i can
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:异常抛出
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURL stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent to instance 0x14ebf1a0'
Run Code Online (Sandbox Code Playgroud)
NSArray *urls = [fm contentsOfDirectoryAtURL:url includingPropertiesForKeys:nil options:0 error:&error];
Run Code Online (Sandbox Code Playgroud)
返回一个NSURL对象数组,而不是NSStrings.您可以使用简单地将URL转换为字符串
NSString *path = [urls[x] path];
Run Code Online (Sandbox Code Playgroud)
使字符串操作过时.或者,使用
NSArray *files = [fm contentsOfDirectoryAtPath:directory error:&error];
Run Code Online (Sandbox Code Playgroud)
它返回一个NSString对象数组而不是NSURLs.
| 归档时间: |
|
| 查看次数: |
399 次 |
| 最近记录: |