前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac小工具开发问题记录

Mac小工具开发问题记录

原创
作者头像
无忧366
发布2020-06-11 18:01:24
6470
发布2020-06-11 18:01:24
举报
文章被收录于专栏:Hello worldHello world

最近开发H5需要拉取多个接口拼接数据到本地,由于接口跨域问题前端无法调用。遂写一个小工具拉取接口。一直开发iOS,没怎么写过mac,记录下遇到的问题和容易忘记的地方

1.接口请求用iOS上标配的AFNetworking,请求报这个错误:NSURLErrorDomain Code=-1003;

配置日做如下修改

2.保存数据到本地

本来想着获取文件到桌面目录:获取桌面目录:

代码语言:javascript
复制
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
NSString* thepath = [paths lastObject];
NSLog(@"桌面目录:%@", thepath);

后来想着可以自己选目录

3.选择目录

代码语言:javascript
复制
 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");
 }
 }];

4.保存到本地

代码语言:javascript
复制
 BOOL b1 =[[NSFileManager defaultManager] createFileAtPath:thepath contents:data attributes:nil];

5.复制文本

代码语言:javascript
复制
 NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
 [pasteboard clearContents]; //必须清空,否则setString会失败。
 [pasteboard setString:sStr forType:NSStringPboardType];

6.数组转字符串

代码语言:javascript
复制
 NSData *sData = nil;
 NSString * sStr = nil;
 sData = [NSJSONSerialization dataWithJSONObject:array options:0 error:nil];
 sStr = [[NSMutableString alloc] initWithData:sData encoding:NSUTF8StringEncoding];

7.图片转出后带\/处理

纯文字转换

代码语言:javascript
复制
sStr = [sStr stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"];

data转换

代码语言:javascript
复制
 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];

8.NSTextView设置文本

代码语言:javascript
复制
[self.textview setString:sStr];

9.xib下NSButton无法设置高度,style改成Square

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.接口请求用iOS上标配的AFNetworking,请求报这个错误:NSURLErrorDomain Code=-1003;
  • 2.保存数据到本地
  • 3.选择目录
  • 4.保存到本地
  • 5.复制文本
  • 6.数组转字符串
  • 7.图片转出后带\/处理
  • 8.NSTextView设置文本
  • 9.xib下NSButton无法设置高度,style改成Square
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档