- 博客(115)
- 资源 (19)
- 收藏
- 关注
原创 计算台阶和排列组合
有一个台阶, 总级数为A(A小于等于100). 从下往上跳, 每次可以跳B级, 也可以跳C级(B或C都有可能大于100, 可以只跳B级跳完整个台阶, 也可以只跳C级跳完整个台阶).请问一共有多少种跳法可以跳完这个台阶(计算出总的跳法排列组合个数, 伪代码即可)例如: A= 5, B=2, C=3, 则排列组合结果为: 11 111;(1代表以及台阶, 此种跳法为先跳2级, 在跳3级) 111 1...
2019-10-15 10:23:20
545
原创 获得礼物概率
1.有一个活动有A,B,C 三样礼物, 现在要编写编写算法,实现 A礼物出现的概率是(99.9),B 礼物出现的概率是(0.09),C 礼物出现的概率是(0.01) var a = 0,b = 0,c = 0; for _ in 1...100000 { if (rankMain(persen: "99.9") == true){
2018-09-21 02:28:23
730
原创 App架构优化
MVC我记得一开始我开发app的时候是使用MVC架构来进行设计的 对应大家肯定对MVC有所了解UIView<->Controller层<->Services服务层(网络和一些业务)<->(Models模型层,ApiClient层)ApiClient层<->框架接口层而Controllerceng<->功能库/第三方库–框架接口层主要负责一些底层的功能支持如请求接口,数据存储接口,分享等– Api
2017-04-19 12:13:36
571
原创 Core Data基础
简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的hibernate持久化框架,不过功能肯定是没有Hibernate强大的。简单地用下图描述下它的作用:左边是关系模型,即数据库,
2016-12-13 00:30:40
281
原创 Objective-c 函数式编程和点语法
函数式编程简介背景现在越来越多的人开发接受并进行函数式编程。目前最当红的Objective-c,Python,Ruby,Javascript等引入函数式是编程。现在最新的swift要借鉴了这个函数式编程。定义是一种编程范例,他将计算机运算视为书序上的函数计算,并避免使用程序状态及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。λ演算中最关键的要素就是函数被当作变量
2016-12-12 23:34:22
1358
原创 Swift_常量
通过Xcode 创建一个Swift的项目会发现一个奇怪的东西 相对 Objective-c 项目 Swift 只需要一句话import Foundation//定义常量let num=70let name="guanxijing"let height=170.0Swift相对于Objective-c 在每句话结束不需要添加“;”import Foundationlet numInt=50let
2016-06-12 23:09:57
435
原创 正则表达式
正则表达式语法 正则表达式经常被用于字段或者任意字符串的验证,如下面这段验证基本日期格式的javaScript代码:varreg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;varr=fieldValue.match(reg);if(r==null)alert('Dateformaterror!');1.校验密码强度 - 密码的强度必须是包含大小写字母和数
2016-05-15 17:50:41
1161
原创 堆和栈
一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况. 从上图可知,程序占用的内存被分了以下几部分.1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,内存的分配是连续的,类似于平时我们所说的栈,如果还不清楚,那么就把它想成数组,它
2016-05-15 15:34:20
274
原创 iOS_面试题
1.父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅拷贝是指针拷贝,对一个对象进行浅拷贝,相当于对指向对象的指针进行复制,产生一个新的指向这个对象的指针,那么就是有两个指针指向同一个对象,这个对象销毁后两个指针都应该置空。深拷贝是对一个对象进行拷贝,相当于对对象进行复制,产生一个新的对象,那么就有两个指针分别指向两个对象。当一个
2016-05-14 16:43:56
682
转载 C语言_左移(<<)和右移(>>)
左移 int i=1; i=i<<2;//把i里面的值左移2位 1的2进制是 000…0001 (这里前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成: 000…0100, 也就是10进制的4,所以说左移1位相对于乘以2的n次方(有符号数不完成适用,因为左移有可能导致变化,下面解析原因)//需要注意的一个问题是int类型最
2016-05-14 12:53:10
61259
4
转载 iOS_代码规范
类命名 首字母需要大修 遵循驼峰式命名 如: BaseClient,ImageStore 特殊类命名 如果是视图控制器的子类应添加后缀”ViewVontroller”或者“Controller” 如果是视图的子类应该添加后缀“View” 如是按钮的子类添加后缀“Button” 分类(类别)命名 与类命名相同,此外需添加要扩展的累吗和“+”
2016-05-14 00:55:18
340
转载 iOS 3D UI_CALayer的transform扩展
iOS的UI是基于UIView类的,我们能看到的每个UI元素都是UIView或者UIView的子类。View按树形结构组织起来,树根是UIWindow。View负责界面的交互和显示,其中显示部分由CALayer来完成。每个UIView包含一个CALayer实例。可以这么认为,UIView本身是不可见的,我们能看到的都是CALayer,UIView只是负责对CALayer进行管理。UIView的显示设
2016-04-08 19:27:48
275
原创 iOS_主要的函数
1、 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 、反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan (double); 反
2016-04-06 21:50:49
247
转载 iOS_使用CALayer实现镜面效果
在iOS中,可以使用QuartzCore.framework基于CALayer做一些图像效果,不清楚CALayer:关于CALayer的介绍在这里我们给图像做一个简单的镜面反射效果,要学习一些图像变化的知识,首先,图像的变化分为:位置变化、尺寸变化、旋转变化等,在计算中,这些变化是用《线性代数》中的矩阵来表示,每一个图像的变化(无论多复杂),都可以分解为几个向量的数部移动:[关于图片的变化和数学的原
2016-04-05 19:34:01
1337
原创 IOS_绘画交集圆填充
1.两个相交的圆圈与同一半径和填补单独的交集:// Use first circle as clipping path:CGContextAddArc(context, 150, 150, 50, 0, 2 * M_PI, 1);CGContextClip(context);// Draw second circle:CGContextAddArc(context, 200, 150, 50
2016-04-03 21:45:23
1785
原创 数据加密原理
RSA MD5 和Base64加密原来Base64原理(3*6)=24=(4*8)3*6bit 字符串长度不能被3整除时,空出来使用0来补位 Lucy(一个异常用两个=,两个异常用一个=) 变换过程\值 L u c y ASCII 76 117 99 121 Bit字节 01001100 01110
2016-04-03 00:34:30
901
转载 IOS_CGContextRef画各种图形
#import "CustomView.h"@implementation CustomView- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { } return self;}// 覆盖drawRect方法,你可以在此自定义绘画和动画- (voi
2016-03-25 17:31:45
3050
原创 微信支付
先到https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1 下载下面两个: 下载完成后然后把SDK导入工程然后到http://kf.qq.com/faq/120911VrYVrA150906F3qqY3.html注册需要钱哦 这个只是APPID的注册流程注册完得到相关的信息https://pay.weixin.qq.com/
2016-03-21 12:33:40
273
原创 多线程_互斥锁解决买票问题
在这个网站介绍了多线程的安全隐患http://blog.csdn.net/u012745229/article/details/50939252 买票问题 使用互斥锁: @interface ViewController ()//总票数@property(nonatomic,assign)int tickets;@end-(void)touchesBegan:(NSSet<UITouch *>
2016-03-20 23:21:07
1287
原创 多线程的安全隐患
资源共享1块资源可能会被多个线程共享,也就是多线可能会被访问同一块资源比如多个线程访问同一个对象,同一个变量,同一个文件当多个线程访问同一块资源时,很容易发生数据错乱额数据安全问题当有一个人存钱有一个取钱 当存钱的人查询余额时查询到1000但很巧的是取钱的人比你晚一点点 取钱的人查询余额查询到1000 然后存钱的人存1000余额显示2000 但取钱的的人取走500在写入数据库因为他们
2016-03-20 22:07:49
592
原创 多线程_ NSThread(状态)
启动线程-(void)start;//进行就绪状态->运行状态.当线程任务完成是,自动进入死亡状态堵塞状态(暂停)线程+(void)sleepUntilDate:(NSDate *)date;+(void)sleepForTimeInterval:(NSTimeInterval)ti;强制暂停线程+(void)exit;//进入死亡状态一旦线程停止(死亡)了,就不能再次启动任务;-(void)
2016-03-20 21:28:48
281
原创 多线程状态介绍
线程状态介绍 当new是线程从内存中创建一个内存空间,但还没能使用 因为还没有[thread start];开始放到线程地址中变为可调用线程就是图中的橙色那块,并进入就绪状态等待CPU调用,CPU调用之后变为运行状态, 当CPU跳转到其他线程时,当前线程就会变为就绪状态,当在运行状态是使用sleep就会把当前线程对象移出,线程池中,到时间就把相应的线程放回线程池中,当任务完成时,线程就会把线程
2016-03-20 21:09:51
180
原创 多线程_NSThread主要属性介绍
thread.name=@"thread A"; //线程优先级 //是一个浮点数,0.01-1.0默认值0.5 //开发的时候,一般不去修改优先级的值 //优先级,必须在调用很多次才会体现出来 thread.threadPriority=0.5;
2016-03-20 20:37:36
180
原创 多线程_NSThread
方法1:-(void)test2{ NSThread *thread=[[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
2016-03-20 18:43:50
220
原创 多线程_pthread
ptread#pragma mark---p-(void)test{ /* void * 相当于OC里面的id */ //使用pthread线程创建线程 //声明一个线程的变量 pthread_t threaId; /* 1.要开辟的线程变量(的到线程的地址) 2.线程的属性(传的线程的地址就可以改变这个地
2016-03-20 18:23:49
382
原创 多线程介绍2
多线程多线程实现方案pthread语言:C 介绍:一套通用的多线程API适用Unix/Linux/Windows等系统跨平台/可以移值使用难度大线程生命周期:程序员管理 使用频率:几乎不用主要了解底层实现NSThread语言:OC 介绍:使用更加面向对象简单易用,可以直接操作线程对象线程生命周期:程序员管理 使用频率:偶尔使用GCD语言:C 介绍:在替代NSThread等
2016-03-20 17:42:14
185
原创 多线程介绍
多线程 一个进程是串行的同时只能进行一个任务也可以称为顺序进行 如果有在一个线程中执行多个任务只能一个一个执行 多线程的优点: - 能够适当提高程序的效率 - 能适当提高资源的利用率(CPU,内存利用率) 多线程的缺点 - 开启线程需要占用一定的内存空间(默认情况先,线程占用1M, 子线程占用512KB),如果开启大量的线程,会占用大量的内存 空间,降低程序的性能 - 线程多,CPU在调度线
2016-03-20 17:20:41
335
转载 IOS_压缩图片UIImage
常见压缩://压缩图片质量+(UIImage *)reduceImage:(UIImage *)image percent:(float)percent{ NSData *imageData = UIImageJPEGRepresentation(image, percent); UIImage *newImage = [UIImage imageWithData:imageDa
2016-03-12 22:10:28
352
原创 IOS_UITableViewCell(UITabel)自动适应Row高
ViewController.m 在UITableView里面有一个协议叫< UITableViewDataSource> 里面有一个方法:-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ //返回行的高度 return 0;}主要代码:V
2016-03-09 17:59:50
249
原创 IOS_(通知传值)NSNotification
宏定义: #define NAME @"name"ViewController.m [[NSNotificationCenter defaultCenter] selector:@selector(Action:) //通知方法name:NAME//如果名字不是宏定义请检查你的名字是否相同object:nil];-(void)Action:(NSNotification *)objct/
2016-03-09 17:29:51
297
原创 IOS网络支持库AFNetworking(1)
以微博为例子: 新建一个数据交互的类继承于NSObject 命名为:AFNetWork.h判断网络状态: -(void)reach{ /* AFNetworkReachabilityStatusUnknown = -1 未知 AFNetworkReachabilityStatusNotReachable = 0 无连接 AFNe
2016-03-09 17:08:25
443
原创 第三方网络支持库AFNetworking(终端搭建)
1.打开终端输入pod search afnetworking 2.输出信息然后回到头部 3.然后会看到pod ‘AFNetworking’,’~3.0.4’这个是你系统的版本 4.然后cd 文件目录 5.然后在终端打:vi Podfile 6.然后会进入这个页面 7.按键盘”i”键进入编辑模式,然后把刚刚复制的pod ‘AFNetworking’,’~3.0.4’复制上来 8.然
2016-03-09 11:22:02
465
转载 IOS之MVC开发模式
iOS开发,以下几种设计模式:Target Action Design Pattern;Notification PatternMVC PatternKVO (Key-Value Obsetving)Delegate PatternMVC (Modal View Controller) 这个设计的主要用意在于将数据和视图分离开来.在IOS cocoa touch编程中,MVC机制被发挥
2016-03-09 10:16:33
497
原创 IOS(UI)_手势2(简单画板)
简单画板先创建一个UIView 名字AppView重写initWithFrame方法:-(id)initWithFrame:(CGRect)frame{ if (self = [super initWithFrame:frame]) { //UIView的背景颜色 self.backgroundColor = [UIColor whiteColor]
2016-03-02 12:04:30
360
原创 IOS(UI)_CGContextRef(绘画)
绘画一般创建UIView时都要一个drawRect在下面被注释掉 现在把注释去掉//覆盖drawRect方法,可以在此自定绘画 和 动画- (void)drawRect:(CGRect)rect {}绘画//覆盖drawRect方法,可以在此自定绘画 和 动画- (void)drawRect:(CGRect)rect { //一个不透明的Quartz 2D绘画环境,相当于一个画布,可以
2016-03-02 11:45:05
294
原创 IOS(UI)_手势1
手势set集合中不能存放相同的对象。它是一组单值对象的集合,并且存入集合中的数据是无序的。手指触碰屏幕: -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ NSLog(@"手指触碰屏幕"); //获取对象 UITouch *touch = [touches anyOb
2016-03-02 11:35:12
229
原创 IOS(UI)_Block传值
ViewController.m点击事件:- (IBAction)pushBtnAction:(id)sender{ BViewController *bViewController =[[BViewController alloc]initWithNibName:@"BViewController" bundle:[NSBundle mainBundle]]; [self.navig
2016-03-01 19:29:41
392
原创 IOS(UI)_Block代码块
Block什么是Block?Blcok是ios4.0+和Mac OS X 10.6 引进队C语言的扩展,用来实现匿名函数的特征block是C级别的匿名函数块,和C语言的函数指针很像,在ios4.0之后开始支持block在IOS开发中什么情况时有block?在ios开发中什么情况时有block?1.代码的封装2.并发任务的执行3.回调 block 块语法: 声明:返回产生(^代码块名)(参
2016-03-01 17:38:16
286
原创 IOS(UI)_模态推送
主要代码先创建已给类以便跳转2.创建已给UIViewController类NextViewController 在点击事件里面跳转NextViewController *nextViewController=[[NextViewController alloc] init];//跳转类 [self presentViewController:nextViewController
2016-03-01 15:18:16
766
原创 IOS(UI)_相框动画(动画轮播)
主要的UI布局就不多说了相框动画主要使用动画效果来轮播1.向创建一个UIImage把图片给他(anglaybaby.jpg为图片初始化是显示的图片) UIImage *image=[UIImage imageNamed:@"anglaybaby.jpg"];2.创建UIImageView把UIImage放进创建好的UIImageView(并设置UIImageView的大小) UI
2016-03-01 15:09:18
351
ORANGE’S:一个操作系统的实现(高清晰版PDF)
2017-11-25
图解服务器端网络架构 完整版 PDF
2017-03-22
csdn博客代码高亮显示源码
2015-11-30
android帧动画事件监听
2015-10-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人