小饼's Blog


  • 首页

  • 归档

  • 标签

  • 搜索

路上的那一天

发表于 2016-08-22   |     |   阅读次数

前言:
先对我亲爱的同事们都说一声对不起,你们的说走就走却成了遗憾。

这一天,我们一直在路上2014-6-14:
这一天我们期盼了很久,可是总是发生一些在计划之外的事情。
有时候计划总是赶不上变化,但是这些都表现出了我们的计划还不够周全,所以我们以后需要备选方案。

10:00

我们带着行李,背上背囊来到要出发的地方,可是我们发现我们的船提早出发了。
本来应该是10:30出发的船,却因为人太多在8:30就出发了。
这个时候的我,真的不知道该如何是好,有一种不知所措的感觉,可是毕竟是我带大家来的我就开始想其他办法,来都来了总不能就这样就回去吧。
然后我努力的思索这有什么地方可以去。我想到了我记忆中的高楼。虽然不是特别美丽,但是其他地方的船票都没有了,文成没有车的话会比较不方便。所以我就跟大家商量可否去这里。

阅读全文 »

【iOS开发技术】Block的使用(二)

发表于 2016-08-22   |     |   阅读次数

前言

在看这篇文章之前希望大家先看一下我另外一片文章,Block的使用(一) 还有一篇 对象关联 这两篇文章。

PS:XD虽然写的不好随便看看呐~

接下来我就结合这两篇文章给大家演示一个我前端时间看到的一个比较新颖的东西吧。
PS:高手勿喷啊,新手表示这个还是挺新奇的。

简介

这里我结合一个按钮、Block、以及objc_setAssociatedObject(关联对象)三个东西给大家。

阅读全文 »

【iOS开发技术】原生Navigtaion和Tab 的定制与修改

发表于 2016-08-22   |     |   阅读次数

先上效果图我的项目在iOS6中的效果
111.png

阅读全文 »

【iOS开发技术】企业级证书打包,自动打包,脚本打包,打包ipa

发表于 2016-08-22   |     |   阅读次数

ipa-build.zip#自动打包

什么是自动打包

自动打包,从名字就可以看的出来,就是利用shell脚本,完成本来需要手动操作的打包步骤。

为什么需要自动打包

有时候我们的一个项目有多个Targets,所以我们需要一个个去打包我们的ipa。(这里讲的是企业级证书的打包流程)
这样会稍显繁琐,而且每个Target打包的时候需要长时间的等待。有什么解决方法呢?
当然有,就是使用脚本自动执行打包。

阅读全文 »

【iOS开发技术】NSPredicate谓词的用法 数组过滤

发表于 2016-08-22   |     |   阅读次数

NSPredicate是什么

NSPredicate:谓词
字面翻译是这个意思,但是我觉得谓词这个词太难以理解了
NSPredicate的具体用途应该还是过滤,类似于过滤条件之类的,相当于一个主语的谓语,所以说会是谓词这个名字。(我是这么理解的)

阅读全文 »

【iOS开发技术】对象关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)

发表于 2016-08-22   |     |   阅读次数

关联

  1. 关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分。
  2. 关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的。

在类的定义之外为类增加额外的存储空间

  • 使用关联,我们可以不用修改类的定义而为其对象增加存储空间。这在我们无法访问到类的源码的时候或者是考虑到二进制兼容性的时候是非常有用。
  • 关联是基于关键字的,因此,我们可以为任何对象增加任意多的关联,每个都使用不同的关键字即可。关联是可以保证被关联的对象在关联对象的整个生命周期都是可用的(在垃圾自动回收环境下也不会导致资源不可回收)。

    创建关联

  • 创建关联要使用到Objective-C的运行时函数:objc_setAssociatedObject来把一个对象与另外一个对象进行关联。该函数需要四个参数:源对象,关键字,关联的对象和一个关联策略。当然,此处的关键字和关联策略是需要进一步讨论的。
  • 关键字是一个void类型的指针。每一个关联的关键字必须是唯一的。通常都是会采用静态变量来作为关键字。
  • 关联策略表明了相关的对象是通过赋值,保留引用还是复制的方式进行关联的;还有这种关联是原子的还是非原子的。这里的关联策略和声明属性时的很类似。这种关联策略是通过使用预先定义好的常量来表示的。
    阅读全文 »

【iOS开发技术】instancetype 对比 id 的好处。

发表于 2016-08-22   |     |   阅读次数

今天研究代码的时候,发现居然返回 instancetype 类型,很惊讶自己学识浅显。
Clang的文档里提到instancetype is a contextual keyword that is only permitted in the result type of an Objective-C method. 也就是说,instancetype只能作为返回值,不能像id那样作为参数。

原来这种技术基本从iOS 5的UINavigationController里就开始应用了。

当一个类返回相同类的实例的时候使用 instancetype 是合适。

首先:做如下定义

@interface Foo:NSObject
- (id)initWithBar:(NSInteger)bar; // initializer
+ (id)fooWithBar:(NSInteger)bar;  // convenience constructor
@end

编译器不会自动将 id 转换为 instancetype 。

对于 init,他变得更加的复杂。比如当你写成如下格式

- (id)initWithBar:(NSInteger)bar

编译器会用如下形式保护起来:

- (instancetype)initWithBar:(NSInteger)bar

这对使用ARC编译是很有必要的,同样因为编译器会做如上保护,有些人会告诉你没有必要使用 instancetype.
但是使用instancetype 有以下有利点。

阅读全文 »

【iOS开发技术】Block的使用(一)

发表于 2016-08-22   |     |   阅读次数

简介

虽然网上关于Block的例子很多很多啊,但是我还是要自己总结一下。

Block是什么Block : 块在IOS开发中,Block=代码块.所有的代码,一段代码都可以称之为一个代码块,不仅仅是在IOS中.

Block有什么用Block的用处有很多.我基本都讲Block使用于回调,或者某个公共函数,但是需要执行不同的操作的时候.(例如延迟函数)Block在IOS开发中有许多的好处,这个可以参阅Apple官方的API

阅读全文 »
12
小饼

小饼

18 日志
2 分类
3 标签
GitHub 微博
Links
  • 菖蒲
  • 寂寞家
© 2016 小饼
由 Hexo 强力驱动
主题 - NexT.Pisces