摘要:前要:iOS多语言开发,可以分为两种 系统设置,通过在手机设置中切换语言,进而改变app中语言; app中手动切换,用户在app中,手动选择语言,进行切换。 一.添加需要的语言 不管使用哪种方法,都需要先添加语言,这一点是相同的。 在项目的project中添加语言 添加完成后是这样的 创建 Loca
阅读全文
摘要:参考文章:http://www.cocoachina.com/ios/20180831/24753.html WK时苹果在iOS8.0之后推出的控件,相比于UIWebView: 内存消耗少; 解决了网页加载时的内存泄漏问题; 与HTML页面的交互更方便; 总之,其性能比UIWebView好很多。 使
阅读全文
摘要:/* 多个线程可能访问同一块资源,造成数据错乱和数据安全问题 为代码添加同步锁(互斥锁) */ -(void)synchronized{ @synchronized(self){ //需要锁住的代码,每次只允许一个线程访问。 } }
阅读全文
摘要:1. NSUserDefaults 2. Plist 3. 归档、解档
阅读全文
摘要:思考:现在有多个线程异步执行,我们想要同时最多只能执行2个或n个,该怎么办? dispatch_semaphore_t 看代码解析: 看打印结果: 解析: 这里有4个线程异步执行,正常情况下,是同时执行的,不分先后; 这里将信号量设为2,说明同时只能执行2个任务。 代码执行到任务1,信号量-1,这时
阅读全文
摘要:进程: //系统中正在运行的一个应用程序。 //每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 线程: //1个进程想要执行任务,必须得有线程(每1个进程至少有1条线程) //一个进程的所有任务都在线程中执行。 //线程的串行: //1个线程中任务的执行是串行的;如果要在1个线程中
阅读全文
摘要:先上图: 下面根据具体代码看这张图。 一、创建一个Person类, Person.h Person.m 大家可以看到,Person类只声明了 sendMessage:方法,在.m文件里没有实现这个方法。 这时,如果在viewController中调用Person类的sendMessage方法,程序会
阅读全文
摘要:首先,介绍一下UIView相关的动画。 动画属性设置: 举2个例子: 2. UIView Block动画 这3个动画比较简单,不再多做叙述。 Spring动画ios7.0以后新增了Spring动画(IOS系统动画大部分采用Spring Animation, 适用所有可被添加动画效果的属性) Keyf
阅读全文
摘要://常用属性 /* 1.CGPath: 将UIBezierPath类转换成CGPath 2.currentPoint: 当前path的位置,可以理解为path的终点 3.lineWidth: 线条宽度 4.lineCapStyle: 端点样式 5.lineJoinStyle: 连接类型 6.flat
阅读全文
摘要:1 //将UTCDate(世界标准时间)转化为当地时区的标准Date(钟表显示的时间) 2 //NSDate *date = [NSDate date]; 2018-03-27 06:54:41 +0000 3 //转化后:2018-03-27 14:54:41 +0000 4 -(NSDate *)getLocalDateFromUTCDate:(NSDate *)UTCD...
阅读全文
摘要:#寄宿图 >图片胜过千言万语,界面抵得上千图片 ——Ben Shneiderman 我们在第一章『图层树』中介绍了CALayer类并创建了一个简单的有蓝色背景的图层。背景颜色还好啦,但是如果它仅仅是展现了一个单调的颜色未免也太无聊了。事实上CALayer类能够包含一张你喜欢的图片,这一章节我们将来探
阅读全文
摘要:图层的树状结构 >巨妖有图层,洋葱也有图层,你懂吗?我们都有图层 -- 史莱克 Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做*Layer Kit*这么一个不怎么和动画有关的名字演变而来,所以做动画这只是Core Animation特性的冰
阅读全文
摘要:1.先在github上创建一个git仓库。 README文件可以先不加,等代码上传到github后再加 这是创建后的样子 2.打开终端 找到项目文件夹,cd 到所在文件 3. 初始化git git init 4. 添加到git git add . (注意:add后面又有个空格) 5. 添加到临时仓库
阅读全文
摘要:iOS开发多线程 —— GCD的简单介绍和使用
阅读全文