唐山APP开发,唐山APP制作,唐山APP定制开发-唐山小程序开发
盛秋网络微信公众号 扫一扫关注
tel-icon全国服务热线: 0316-2636468  13831639196
扫一扫关注盛秋网络微信公众号

联系我们

盛秋网络科技(唐山)有限公司

  • 电话:13831639196
  •  0316-2636468
  • 地址:唐山市路北区体育馆道25号硅谷大厦
  • 网址:www.tangshanapp.cn

行业动态

您现在的位置: 首页 > 新闻资讯 > 行业动态

提升iOS开发效率的6个小技巧

发布日期:2018年09月11日    浏览次数:836

1. NSArray 快速求总和 最大值 最小值 和 平均值


?

NSArray *array = [NSArray arrayWithObjects:@"2.0", @"2.3", @"3.0", @"4.0", @"10", nil];

CGFloat sum = [[array valueForKeyPath:@"@sum.floatValue"] floatValue];

CGFloat avg = [[array valueForKeyPath:@"@avg.floatValue"] floatValue];

CGFloat max =[[array valueForKeyPath:@"@max.floatValue"] floatValue];

CGFloat min =[[array valueForKeyPath:@"@min.floatValue"] floatValue];

NSLog(@"%f\n%f\n%f\n%f",sum,avg,max,min);

2.Debug栏打印时自动把Unicode编码转化成汉字

// 有时候我们在xcode中打印中文,会打印出Unicode编码,还需要自己去一些在线网站转换,有了插件就方便多了。

 DXXcodeConsoleUnicodePlugin 插件


3. 自动生成模型代码的插件

// 可自动生成模型的代码,省去写模型代码的时间

ESJsonFormat-for-Xcode



4. iOS 开发中一些相关的路径?

模拟器的位置:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs 

 

文档安装位置:

/Applications/Xcode.app/Contents/Developer/Documentation/DocSets

 

插件保存路径:

~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins

 

自定义代码段的保存路径:

~/Library/Developer/Xcode/UserData/CodeSnippets/ 

如果找不到CodeSnippets文件夹,可以自己新建一个CodeSnippets文件夹。

 

证书路径

~/Library/MobileDevice/Provisioning Profiles



5. Quartz2D相关


?

图形上下是一个CGContextRef类型的数据。

图形上下文包含:

1,绘图路径(各种各样图形)

2,绘图状态(颜色,线宽,样式,旋转,缩放,平移)

3,输出目标(绘制到什么地方去?UIView、图片)

 

1,获取当前图形上下文

CGContextRef ctx = UIGraphicsGetCurrentContext();

2,添加线条

CGContextMoveToPoint(ctx, 20, 20);

3,渲染

CGContextStrokePath(ctx);

CGContextFillPath(ctx);

4,关闭路径

CGContextClosePath(ctx);

5,画矩形

CGContextAddRect(ctx, CGRectMake(20, 20, 100, 120));

6,设置线条颜色

[[UIColor redColor] setStroke];

7, 设置线条宽度

CGContextSetLineWidth(ctx, 20);

8,设置头尾样式

CGContextSetLineCap(ctx, kCGLineCapSquare);

9,设置转折点样式

CGContextSetLineJoin(ctx, kCGLineJoinBevel);

10,画圆

CGContextAddEllipseInRect(ctx, CGRectMake(30, 50, 100, 100));

11,指定圆心

CGContextAddArc(ctx, 100, 100, 50, 0, M_PI * 2, 1);

12,获取图片上下文

UIGraphicsGetImageFromCurrentImageContext();

13,保存图形上下文

CGContextSaveGState(ctx)

14,恢复图形上下文

CGContextRestoreGState(ctx)


6. 去掉UITableView的section的粘性,使其不会悬停

//有时候使用UITableView所实现的列表,会使用到section,但是又不希望它粘在最顶上而是跟随滚动而消失或者出现

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {  

    if (scrollView == _tableView) {  

        CGFloat sectionHeaderHeight = 36;

 

        if (scrollView.contentOffset.y <= sectionHeaderHeight && scrollView.contentOffset.y >= 0) {  

            scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);  

        } else if (scrollView.contentOffset.y >= sectionHeaderHeight) {  

            scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);  

        }  

    }  

}


?


运行0.04506秒,内存使用704.42 KB,数据库执行51次,用时0.0201秒,缓存执行20次,用时0.00312秒