最近开发H5需要拉取多个接口拼接数据到本地,由于接口跨域问题前端无法调用。遂写一个小工具拉取接口。一直开发iOS,没怎么写过mac,记录下遇到的问题和容易忘记的地方
配置日做如下修改
本来想着获取文件到桌面目录:获取桌面目录:
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
NSString* thepath = [paths lastObject];
NSLog(@"桌面目录:%@", thepath);
后来想着可以自己选目录
NSOpenPanel * mySelectPanel = [NSOpenPanel openPanel];
[mySelectPanel setCanChooseDirectories:YES];
[mySelectPanel setCanChooseFiles:YES];
[mySelectPanel setCanCreateDirectories:YES];
[mySelectPanel setAllowsMultipleSelection:YES];
[mySelectPanel setResolvesAliases:YES];
[mySelectPanel beginWithCompletionHandler:^(NSInteger result) {
if (result == NSModalResponseOK) {
NSArray * URLs = [mySelectPanel URLs];
if(URLs.count > 0){
NSURL * url = [URLs objectAtIndex:0];
NSString * path = [NSString stringWithString:[url path]];
NSString * thepath= [path stringByAppendingPathComponent:@"content.txt"];
BOOL b1 = [[NSFileManager defaultManager] createFileAtPath:thepath contents:data attributes:nil];
}
}
} else if (result == NSModalResponseCancel) {
NSLog(@"Cancel");
} else if (result == NSModalResponseStop) {
NSLog(@"Stop");
}
}];
BOOL b1 =[[NSFileManager defaultManager] createFileAtPath:thepath contents:data attributes:nil];
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
[pasteboard clearContents]; //必须清空,否则setString会失败。
[pasteboard setString:sStr forType:NSStringPboardType];
NSData *sData = nil;
NSString * sStr = nil;
sData = [NSJSONSerialization dataWithJSONObject:array options:0 error:nil];
sStr = [[NSMutableString alloc] initWithData:sData encoding:NSUTF8StringEncoding];
纯文字转换
sStr = [sStr stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"];
data转换
NSData * sData = nil;
NSString * sStr = nil;
sData = [NSJSONSerialization dataWithJSONObject:array options:0 error:nil];
sStr = [[NSMutableString alloc] initWithData:sData encoding:NSUTF8StringEncoding];
sStr = [sStr stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"];
sData = [sStr dataUsingEncoding:NSUTF8StringEncoding];
[self.textview setString:sStr];
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。