自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iCodeWoods

路漫漫其修远兮,吾将上下而求索

  • 博客(17)
  • 收藏
  • 关注

转载 如何正确使用const,static,extern

本文转载自:点击打开链接一、const与宏的区别(面试题):const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量。编译时刻:宏是预编译(编译之前处理),const是编译阶段。编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误。宏的好处:宏能定义一些函数,方法。 const不能

2016-05-27 16:58:28 462

原创 viewDidLoad被提前调用

今天写项目的时候发现了一个非常奇怪的问题,我一度认为可能是我的 Xcode 出了 bug。先来猜猜下面代码的执行顺序?这是一段非常常见的代码,很多 controller 都是这么写的。正常来说执行顺序肯定是 1、2、3、4 无疑。然而事实上,执行顺序却是:1、3、4、2。这就导致了一个问题:viewModel 请求不到数据,因为走到第 4 步的时候,view

2016-05-27 14:52:11 1153

转载 iOS 开发中的争议(一)类的成员变量应该如何定义?

本文转载自唐巧的博客类的成员变量应该如何定义?在 Objective-C 的语言的早期,类的私有成员变量是只能定义在 .h 的头文件里面的。像如下这样:@interface ViewController : UIViewController { @private NSInteger _value;}之后,苹果改进了 Objective-C,允许在

2016-05-27 12:11:26 1972

原创 pod install时出现错误"The dependency 'xxx' is not used in any concrete target"

今天更新了下系统,结果用CocoaPods下载第三方库的时候出现了错误,"The dependency 'xxx' is not used in any concrete target"。如下图所示:原来是因为更新了系统以后需要指明 target。解决办法:修改 podfile,如下图所示:在需要下载的库的前面和后面加上 target "xxx" do

2016-05-27 10:25:45 1185

转载 iOS核心动画-转场动画CATransition和组动画CAAnimationGroup

本文转载自:点击打开链接一、转场动画简单介绍CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果属性解析:type:动画过渡类型subtype:动画过渡方向

2016-05-16 14:32:50 622

转载 iOS核心动画-CABaseAnimation

本文转载自点击打开链接一、简单介绍CAPropertyAnimation的子类属性解析:fromValue:keyPath相应属性的初始值toValue:keyPath相应属性的结束值随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue如果fillMode=kCAFill

2016-05-16 12:21:52 1102

转载 iOS核心动画简介

本文转载自点击打开链接一、简单介绍Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。Core Animation是跨平台的,可以用在Mac OS X和iOS平台。Core Animation的动画执行过程都是在后台操作的,不会阻塞主

2016-05-16 11:54:53 518

转载 iOS核心动画-关键帧动画CAKeyframeAnimation

iOS开发UI篇—核心动画(关键帧动画)一、简单介绍是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值属性解析:values:就是上述的NSArra

2016-05-16 11:46:28 1616

原创 NSString不用strong而用copy修饰的原因

以前一直没有彻底弄明白这其中的原因,今天终于懂了,分享给还没有懂的人~直接上代码:@interface Test : NSObject@property (nonatomic, strong) NSString *str1;@property (nonatomic, copy) NSString *str2;@end#import #import "Test.h"in

2016-05-11 13:07:32 5243

原创 Xcode运行错误:failed to get the task for process XXX

昨天用adhoc的证书给项目打包,结果今天真机测试的时候出现了错误,Xcode不能运行项目了:原来是因为证书的缘故。打包时用了其它证书,开发的时候需要把证书换回原来的开发证书。如图所示,第一步选中 TARGETS,第二步选中 Build Settings,第三步把 Provisioning Profile 改成开发证书即可。

2016-05-11 11:39:06 1104

原创 三行代码实现iOS9新功能-SFSafariViewController

我们直接来看完整的代码:import UIKitimport SafariServicesclass ViewController: UIViewController { @IBAction func openWithSafariVC(sender: AnyObject) { let sfsVC = SFSafariViewController(URL: NSUR

2016-05-10 13:59:19 5431

原创 Swift-贝赛尔曲线画扇形、弧线、圆形、多边形——UIBezierPath实现App下载时的动画效果

上篇文章提到了使用贝赛尔曲线实现画图板(传送门),顿时就对贝赛尔曲线兴趣大增有木有。之所以接触贝赛尔曲线,多亏了师父。周五下班前师父给我留了个任务,让我周末回家研究研究 iPhone 手机下载 App 时的效果是怎么实现的(不知道效果的童鞋请看下图)如果所示,下载 App 的过程效果,就是 App 图标中间有一个顺时针旋转的圆圈。当一圈走完时 App 就下载完成了。刚给我交代这

2016-05-08 17:30:31 15172

原创 Swift-贝赛尔曲线实现画图板 && 截图保存到相册中

本文内容参考自 传送门。原文是用 OC 写的,我把它改成了 Swift 的。我们先来看看效果图:第一幅图是我们画了一个 “iOS” 的图像,第二幅图是我们点击保存成功,第三幅图是可以在相册中看到我们刚才画的图。感觉很不错有木有?接下来我们就来说说是怎么实现的。我们分两部分来说:上半部分的画图板和下半部分的控制区。上半部分的画图板是我们自定义的 view,

2016-05-07 17:39:45 3972

原创 copy和mutableCopy都是浅拷贝!!!

嗯,标题就是要这么醒目,不然没人看。虽然要追求醒目,但绝不是信口开河。所有系统容器类的copy或mutableCopy方法,都是浅拷贝!!!是的,你没有听错。所有系统容器类的copy或mutableCopy方法,都是浅拷贝!!!所有系统容器类的copy或mutableCopy方法,都是浅拷贝!!!所有系统容器类的copy或mutableCopy方法,都是浅拷贝!!!

2016-05-05 20:16:40 5233 16

原创 Swift-字典

原本我以为 Swift 中的字典和其它语言中的字典应该差不多,所以不打算单独写一篇关于字典的博客。可学习了之后我才发现 Swift 中的字典竟然有很多与众不同的地方。吓得我赶紧记录一下。。。和其它语言中一样的地方就没啥好说的了,我们直接来说它与众不同的地方。我们先拿数组来做比较。首先,在数组中肯定不能访问不存在的下标,否则会出现越界的错误,这点大家都知道。但是,字典却可

2016-05-05 12:14:50 517

原创 Swift-控制流

在 Swift 中,包裹条件和循环变量的括号可以省略,举个栗子:let individualScores = [75, 43, 103, 87, 12]var teamScore = 0for score in individualScores { // 循环语句的小括号可以省略 if score > 50 { // 条件语句的小括号可以省略 teamScore +

2016-05-05 10:54:06 548

原创 Swift-数组

用方括号[]来创建数组。最后一个元素后面可以有一个逗号(当然也可以没有啦)。初始化的方法有很多种:var array = [2, 3, 4, 5]var array1: Array = [2, 3, 4, 5]var array2: Array = [2, 3, 4, 5]var array3: [Int] = [2, 3, 4, 5]可以用初始化语法来创建一个空的数组:let

2016-05-03 18:11:45 691

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除