iOS学习
文章平均质量分 70
Holly_iOS
码农
展开
-
iOS 税前税后的工资计算
税前税后的工资计算公式如下:计算个税 =ROUND(MAX((计税工资-3500)*{3;10;20;25;30;35;45}%-5*{0;21;111;201;551;1101;2701},0),2)倒推税前=ROUND(MAX((实发-3500-{0,105,555,1005,2755,5505,13505})/(1-{3,10,20,25,30,35,45}%)+原创 2017-09-06 16:28:04 · 1020 阅读 · 0 评论 -
iOS 定时器
1、NSTimer使用注意1)与RunLoop的关系 2)释放不掉的问题http://blog.csdn.net/Christ_Beings/article/details/53425665https://www.mgenware.com/blog/?p=459 ***http://www.cocoachina.com/ios/20150710/12444.html原创 2017-12-04 16:25:06 · 287 阅读 · 0 评论 -
iOS dispatch_source_t
Dispatch Source是GCD中的一个基本类型,从字面意思可称为调度源,它的作用是当有一些特定的较底层的系统事件发生时,调度源会捕捉到这些事件,然后可以做其他的逻辑处理,调度源有多种类型,分别监听对应类型的系统事件。我们来看看它都有哪些类型:Timer Dispatch Source:定时调度源。Signal Dispatch Source:监听UNIX信号调度源,比如监听代表挂起转载 2017-12-04 17:04:10 · 643 阅读 · 0 评论 -
Instruments 调试工具的使用
Instrumets 做程序性能调试 http://www.samirchen.com/use-instruments/其中文章中的一些按钮位置在Xcode9.1中有所改变,如下图原创 2017-12-06 10:15:41 · 344 阅读 · 0 评论 -
iOS 多线程
为什么使用多线程:网络请求 :异步请求,不占主线程图片加载文件处理数据存储任务执行多线程原理:单核操作系统:操作系统会为每个线程分配时间段,交替进行 宏观并行,微观串行多核:并行优缺点:优:1、简化编程模型(设计复杂的系统设计中,单一线程处理大的,零散的任务困难,多线程就可以简化编程模型) 2、更加轻量级 3、提高执行效率4、提高资源利用率缺:1、增加程序的设计复杂度(资源共享、线程读写数据库操作...原创 2017-12-07 10:47:44 · 166 阅读 · 0 评论 -
iOS 高德地图路线规划
最近做了高德地图路线规划,把自己不熟的点记录一下:1、地图不显示当前位置精准圈:设置mapview的 customizeUserLocationAccuracyCircleRepresentation 属性为yes,就会调用mapview的代理方法- (MAOverlayRenderer *)mapView:(MAMapView *)mapView rendererForOverl原创 2017-12-26 10:21:20 · 1504 阅读 · 0 评论 -
iOS 可以看见下一页的部分内容的ScrollView
需要使scrollView的宽度小于实际显示宽度 _dataScrollView.pagingEnabled =YES;//分页滑动宽度 系统默认为 UIScrollView 的 width _dataScrollView.delegate =self; _dataScrollView.showsHorizontalSc原创 2017-12-26 10:30:07 · 707 阅读 · 0 评论 -
CoreData(二) 数据的增删改查
在上篇博客中,讲了数据模型和 CoreData 栈的创建,那下一步就是对数据的操作了。和数据库一样,CoreData 里的操作也无非是增删改查。下面我们将逐步讲解在 CoreData 中进行增删改查的方式。基本的增删改查插入条目先来看一下插入条目的方式,在插入之前,我们需要先创建要插入的数据, 使用 NSEntityDesctiption 类的 + (__kindof NSManagedOb转载 2017-12-28 10:19:17 · 397 阅读 · 0 评论 -
CoreData(一)数据模型 + CoreData 栈的创建
CoreData 是 Cocoa 平台上用来管理模型层数据和数据持久化的一个框架,说简单点,就是一个数据库存储框架。CoreData 里相关的概念比较多,而且初始化也非常繁琐,所以对初学者的学习还是有一些困难的。这篇文章将从头到尾详细地讲一遍 CoreData 的使用方法,从 CoreData 的初始化到简单的增删改查,再到批量处理,数据模型的版本更新以及和 TableView 的结合等,真正让你转载 2017-12-28 10:02:47 · 262 阅读 · 0 评论 -
CoreData(三)关联表的创建
上篇博客中讲了 CoreData 里增删改查的使用,学到这里已经可以应对简单的数据存储需求了。但是当数据模型复杂起来时,例如你的模型类中除了要存储 CoreData 里支持的数据类型外,还有一些自定义的数据类型,这个时候只靠单一的模型结构就没办法来满足这种需求了,于是我们就需要使用关联表结构,也就是我们这次要讲的内容。简介多表关联,相信接触过 SQL 数据库的朋友都不陌生,就是指可以在一张表的转载 2017-12-28 10:29:05 · 365 阅读 · 0 评论 -
CoreData(四)并发操作
通常情况下,CoreData 的增删改查操作都在主线程上执行,那么对数据库的操作就会影响到 UI 操作,这在操作的数据量比较小的时候,执行的速度很快,我们也不会察觉到对 UI 的影响,但是当数据量特别大的时候,再把 CoreData 的操作放到主线程中就会影响到 UI 的流畅性。自然而然地我们就会想到使用后台线程来处理大量的数据操作。使用后台 managedObjectContextCoreD转载 2017-12-28 10:41:37 · 346 阅读 · 0 评论 -
CoreData(五)CoreData 和 TableView 结合
我们知道 CoreData 里存储的是具有相同结构的一系列数据的集合,TableView 正好是用列表来展示一系列具有相同结构的数据集合的。所以,要是 CoreData 和 TableView 能结合起来,CoreData 查询出来的数据能同步地显示在 TableView 上,更好一点就是 CoreData 里的改动也能同步到 TableView 上,那就再好不过了。可喜的是,确实有这样一个 AP转载 2017-12-28 10:43:48 · 331 阅读 · 0 评论 -
CoreData(六)模型版本和数据迁移
前面几篇文章中讲的所有内容,都是在同一个模型版本上进行操作的。但在真实开发中,基本上不会一直停留在一个版本上,因为需求是不断变化的,说不定什么时候就需要往模型里添加新的字段,添加新的模型,甚至是大规模的重构;所以数据的迁移就显得尤为重要了。CoreData 中,数据迁移本质就是把旧的 SQLite 数据库里的内容,复制到新的 SQLite 数据库里去,让新的数据库作为默认的数据存储。伴随着模型转载 2017-12-28 10:48:07 · 395 阅读 · 0 评论 -
iOS 获取view上某一点的色值
//// UIView+ColorView.m// CAEmitterCell//// Created by Holly on 2017/11/30.// Copyright © 2017年 Holly. All rights reserved.//#import "UIView+ColorView.h"#import @implemen原创 2017-12-01 17:32:27 · 1014 阅读 · 0 评论 -
iOS 关于信号量的文章
iOS 信号量http://www.itwendao.com/article/detail/393099.htmlhttp://www.cnblogs.com/yajunLi/p/6274282.htmliOS之利用GCD信号量控制并发网络请求:http://blog.csdn.net/Cloudox_/article/details/71107179原创 2017-12-01 17:39:55 · 230 阅读 · 0 评论 -
IOS 截图
-(void)fullScreenshots{UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow]; UIGraphicsBeginImageContext(screenWindow.frame.size);//全屏截图,包括window [screenWindow.laye转载 2017-11-30 16:29:49 · 170 阅读 · 0 评论 -
工资计算 字典形式传参以及返回 结果
以字典的形式传参以及返回参数:(只计算了个人部分)参数model@interface CCCalculatorParamModel :NSObjectYYModel>@property (nonatomic,assign) CGFloat providentFund;//公积金@property (nonatomic,assign) CGFl原创 2017-09-06 17:00:05 · 426 阅读 · 0 评论 -
CGFloat和float的区别,什么时候用哪一种以及浮点数比较大小
1、CGFloat和float的区别,什么时候用哪一种CGFloat is just a typedef for either float or double.The basic type for all floating-point values. typedef float CGFloat;// 32-bit typedef double原创 2017-09-06 17:33:09 · 6244 阅读 · 0 评论 -
iOS 中间按钮突出的tabbar
由于项目需求,需要写一个下图的tabbar中间按钮突出使用贝塞尔曲线来画一个tabbar的背景图,自定义一个view 重写view的drawRect方法,代码如下:-(void)drawRect:(CGRect)rect{ CGFloat lineY =0; CGFloat radiu =0; CGFloat lineWidth原创 2017-08-29 10:17:56 · 3122 阅读 · 0 评论 -
runtime
为深入学习runtime的原理及使用,找到几篇个人认为写的比较好的文章进行转载分享:runtime 的原理及使用简介:因为Objc是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到运行时。也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system)来执行编译后的代码。这就是 Objective-C Runtime 系转载 2017-09-14 17:17:00 · 293 阅读 · 0 评论 -
iOS 内存知识以及修饰词的用法 copy修饰符
内存被分成了5个区,每个区存储的内容如下:栈区(stack):存放函数的参数值、局部变量的值等,由编译器自动分配释放,通常在函数执行结束后就释放了,其操作方式类似数据结构中的栈。栈内存分配运算内置于处理器的指令集,效率很高,但是分配的内存容量有限,比如iOS中栈区的大小是2M。堆区(heap):就是通过new、malloc、realloc分配的内存块,它们的释放编译器不去管,由我们转载 2017-08-25 09:40:30 · 418 阅读 · 0 评论 -
iOS 成员变量与属性的区别
#import @interface Person : NSObject{ // 1.声明成员变量 NSString *name; NSInteger age; }//@property声明属性@property (nonatomic,copy) NSString *fatherName原创 2017-09-15 11:14:01 · 572 阅读 · 0 评论 -
iOS 手机照片上传服务器方向不对的原因以及解决方法
苹果手机上传图片到服务器,发现图片方向不对,百度原因发现:1:原因: 相机拍照后直接取出来的UIimage(用UIImagePickerControllerOriginalImage取出),它本身的imageOrientation属性是3,即UIImageOrientationRight。如果这个图片直接使用则没事,但是如果对它进行裁剪、缩放等操作后,它的这个imageOrientation原创 2017-08-25 17:09:01 · 4428 阅读 · 0 评论 -
控件相对屏幕的坐标位置
// 需要获取的对象为view,则该视图相对屏幕的位置可使用下面方法实现: UIWindow * window=[[[UIApplicationsharedApplication] delegate] window]; CGRect rect=[view convertRect: view.bounds toView:window];// 需原创 2017-09-19 16:25:49 · 2641 阅读 · 0 评论 -
iOS 获取设备的IDFA
在项目的General 里加入支持的framework,AdSupport.framework 再在需要获取idfa的地方写下述代码就可以获取 NSString*idfaStr = [[[ASIdentifierManagersharedManager] advertisingIdentifier]UUIDString];原创 2017-09-30 10:23:11 · 3486 阅读 · 0 评论 -
iOS 动画
iOS 动画分为两种,一种是UIView的视图动画,一种是Layer的动画,本质上UIView的动画也是基于Layer的一、UIView动画(UIView的动画又分为一般的方式和block的方式)1、一般方式[UIView beginAnimations:@“kk” context:nil];//设置动画 kk为动画名称[UIView setAnimationDur原创 2017-11-27 17:45:59 · 136 阅读 · 0 评论 -
jenkins 自动化打包
cd /Applications/Jenkins 要安装java环境java -jar jenkins.war --httpPort=8888http://localhost:88881、在终端输入命令行 brew install jenkins (基于brew安装,安装不成功自行百度,因jenkins基于Java,所以要先集成Java开发环境原创 2017-11-28 16:07:48 · 376 阅读 · 0 评论 -
CADisplayLink 的使用
CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时器。我们在应用中创建一个新的 CADisplayLink对象,把它添加到一个runloop中,并给它提供一个 target和selector 在屏幕刷新的时候调用。CADisplayLink和其它CoreAnimation类一样,都是在QuartzCore.framework里。使用方式-原创 2017-11-29 15:00:16 · 3597 阅读 · 0 评论 -
h5中的图片点击放大
在wkwebview的代理方法//MARK: -- 加载完成- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation 中加入js代码//js方法遍历图片添加点击事件 返回图片个数 逻辑: 1.遍历获取全部的图片;(只获取detail-main div原创 2018-01-17 10:24:32 · 17092 阅读 · 0 评论