- 博客(26)
- 资源 (4)
- 收藏
- 关注
原创 ReactiveX/RxSwift 初见
ReactiveX 的不同之处我们习以为常的编码大多是通过KVO、Notification、Delegate、Block监听程序的变化,以此来达到我们想要达到的传值、改变UI等操作。现在有了ReactiveX,它可以帮助我们让代码自动相应更新,程序可以对底层数据的变化做出响应。
2017-06-18 12:16:34 3069
原创 jenkins 搭建 iOS Android 持续集成随笔
简介Jenkins是基于Java开发的一种持续集成工具,如果你能看到这里的文字,那么我觉得我要是在balabala说什么是持续集成,有什么好处就有点扯闲篇的嫌疑了。。。
2017-03-09 11:38:26 2321
原创 git 命令行菜鸟必看
Git 是一个分布式的版本控制和源代码管理系统,强调速度。 Git 最初由Linus Torvalds设计和开发为Linux内核开发管理代码。 Git是GNU通用公共许可证版本2的条款下分发的免费软件。
2016-08-31 18:03:03 1253
原创 runtime运行时
Objc的runtime运行时机制,首先我们要了解一下c语言的函数调用机制,对于c语言而言,函数调用是在编译时查找函数入口,完成函数调用,c语言中调用的函数如果只声明不实现,编译时会报错,这是因为在编译时查找不到要执行的函数,然而对于objc而言,调用的函数只要在.h文件中声明,编译时不会报错,但是运行的时候会crash,这是因为oc的函数调用是在运行时完成的,也就是说在程序真正运行的时候编译的
2016-08-31 17:24:08 1339 1
原创 OS X EI Capitan: You don't have write permissions for the /Library/Ruby/Gems/
You don't have write permissions for the /Library/Ruby/Gems/
2016-08-01 16:59:40 3985
原创 iOS 真机、模拟器调试 CrashMonkey4IOS
iOS 真机、模拟器调试 CrashMonkey4IOS简要CrashMonkey4IOS 能够运行在你的真机和模拟器上,帮助收集crash报告,并且附有截图,一目了然
2016-08-01 15:55:15 990
原创 init?(coder aDecoder: NSCoder)
Mast call a designated initializer of the superclass ‘required’ initializer ‘init(coder:)’ must be provided by subclass of 如果你要用 Swift创建一个实现了 NSCoding协议的类(UIView,UIViewController)的子类的时候,你就会发现一种很尴尬的情况,
2016-05-04 10:50:44 6119
原创 制作 cocoapods 类库
cocoapods应该是时下类库比较全面的三方管理工具,使用也特别方便,你只需将别人的类库在你的 podfile中 pod "SomeoneNameLibrary" 就可以在你的工程中使用这个库,作为一个开发者,你是否也想让别人在他的项目中 pod "YourNameLibrary",so,if your answer is yes,continue.
2016-04-28 10:39:36 397
原创 iOS 7 点击状态栏 scrollToTop 不响应
iOS 7 点击状态栏 scrollToTop 不响应iPhone 老早的一个功能,最近好多人说iOS上有些点击状态栏不会滚到顶部,这可能是因为你的controller覆盖了状态栏,stackoverflow上找到最佳方案是这样的AppDelegate 里面加上如下代码- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEven
2016-01-27 16:26:06 533
原创 Objective-C关键字__Nullable和__Nonnull
Xcode 6.3中有一项新特性,`nullability`标记,这为 OC 提供了类似 Swift 中的 Optional 的类型为了让更多开发者从 OC 向 Swift 过渡,OC 和 Swift 混编已经变得尤为重要,就像是OC通向Swift的一座桥梁,通过引入泛型使得 OC 和 Swift 之间更加安全清楚的理解和共享包含特定元素的集合The Core: _Nullable and _N
2015-12-10 15:53:25 6894 1
原创 AppStore相关跳转的两种方式
跳转到AppStore去评分业务需求我们需要提醒用户去AppStore为我们的app评分,有两种方式,一种是直接通过链接打开AppStore去评分,这是比较传统的方式,也是现在大多数app都在用的一种方式,还有一种比较高大上的方式,就是present出一个模态试图控制器(只能以模态方式显示),在app内部实现评论操作1.跳转到AppStore评分
2015-11-26 17:05:22 918 1
原创 iOS GCD浅析
简介单线程中一个线程只能做一件事情,一件事情处理不完另一件事情就不能开始,显然这样的程序是失败的,早在单核处理器时期就有了多线程,这个时候多线程更多的是处理线程阻塞造成的用户等待(通常是操作完UI后,用户不在干涉,其它线程在等待队列中,CPU一旦空闲就继续执行,不影响用户其它UI操作)其处理能力并没有明显的变化,如今已到了多核处理器时代,于是“并行运算”更多的被提及。在iOS中每个进程启动都会建立一
2015-08-12 20:33:46 414
原创 iOS textfield浅析
修改placeholder字体、颜色等,其实textfield的placeholder是一个UILabel,只要取出它的label,就可以设置,这里介绍一种KVC的方式textField.placeholder = @"username is in here!"; [textField setValue:[UIColor redColor] forKeyPath:@"_placeholderL
2015-08-12 14:11:30 306
原创 iOS:手写代码自动实现自动布局,即Auto Layout的使用
iOS6 之后,苹果公司引进了Auto Layout,相比之前的autoresizing功能更强大,这也是苹果公司为了未来不同机型未雨绸缪的措施。
2015-08-04 17:42:49 1533
原创 iOS 开发,屏幕旋转、旋转屏幕collectionView cell 的自动布局问题
开发过程中,为了视觉美感,有时候我们有禁止屏幕旋转的需求,如下操作如果是在UINavigationController中装了很多UIViewController,那我们需要集成UINavitationController写一个自己的NavitationControlle,并且在里面加上如下方法。返回YES表示支持横屏,返回NO表示不支持横屏,下面的例子表示全局除了CScanViewCont
2015-03-21 14:34:50 6540 1
原创 Objective-C,关于动态参数方法
iOS开发中有时需要给方法传入不定个数的参数,即动态参数绑定,编写动态参数方法之前,有几个C语言函数需要了解一下va_list //声明一个指向动态参数列表的指针va_start(param,test); // 获得参数地址,即让param指向testva_arg(param, id)//指向动态参数列表的下一个参数,id是参数类型 v
2015-03-19 21:04:43 692
原创 iOS 开发strong weak assign copy
对象(继承自NSObject)内部都有一个内置的引用计数器,用来标识当前有多少对象在使用它,当对象被创建时,引用计数器为1,一旦引用计数器减到0,对象就会销毁,一般来讲,alloc函数创建对象,对象的引用计数器为1,retain会对引用计数器+1,release会对引用计数器-1。 strong 强引用: 所谓强引用就是对对象计数器 +1 操作,多一个对象对该对象强引用,引用计数器就会
2015-03-19 20:46:09 613
原创 iOS 数据持久化-归档
1.将任何对象,或数据结构转换为NSData类对象的过程,成为归档,亦称之为数据的序列化2.解归档,首先要确保你有同样的数据结构来接收解归档的数据 需要归档的数据结构中,任何对象都必须遵从NSCoding,实现协议方法- (void)encodeWithCoder:(NSCoder*)aCoder; // 归档时调用, - (id)initWithCoder:(NSCo
2015-03-19 20:45:40 355
原创 iOS移动开发数据库相关操作,基于…
#pragma mark - FMDB 操作数据库1.初始化一个数据库对象,关联路径,如果路径下的数据库不存在,open方法调用时会自动创建对应的数据库,若存在,打开当前路径下的数据库。注:一个数据库对象只能操作一个数据库文件DB_PATH :要创建或打开的数据库的路径//创建并打开数据库- (void)createDatabase{ //一个数
2015-03-19 20:45:36 331
转载 Github上传代码菜鸟超详细教程【转】
转自博客园最近需要将课设代码上传到Github上,之前只是用来fork别人的代码。这篇文章写得是windows下的使用方法。第一步:创建Github新账户第二步:新建仓库第三部:填写名称,简介(可选),勾选Initialize this repository with a README选项,这是自动创建REAMDE.md文件,省的你再创建。第四步:安装Githu
2015-03-19 20:42:19 507
原创 iOS 开发-界面美化-自定义字体
苹果公司向来以细节著称,iOS7.0是苹果手机系统的一个改革,一改往日的拟物化风格,显然视觉美化在iOS开发中是举足轻重的,下面介绍一下引用三方字体的方法1.首先我们送网上下载的字体大多是ttf格式,或者还有别的,下载到字体包后倒入工程中。2.此时在程序中任意可运行的位置添加如下方法,输出所有字体NSArray *fontFamilyNames = [UIFont fami
2015-03-16 12:13:32 507
原创 iOS CATransition动画Demo
在APP开发过程中,为了将APP以最美的视觉展现在用户面前,有时候动画或许是不错的选择,iOS提供了CATransition和CAAnimation等动画类,山人才疏学浅,给大家分享一下CATransition使用时的一些方法。- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after lo
2015-03-10 15:00:22 535
原创 iOS autoresizingMask 使用详解
autoresizingMask 是UIView的一个属性。这是个枚举,用来调整当前视图与父视图之间的位置关系,用于动态布局,使用时需要设置self.autoresizesSubviews = YES;枚举值如下。typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) { UIViewAutoresizingNone
2015-03-09 09:00:28 619
原创 UIDatePicker 使用详解
1.UIDatePicker 继承自UIControl,是一个事件驱动型控件,内部通过封装 UIPickerView实现,相当于日期时间选择操作的UIPickerView。共有四种显示模式,如下typedef NS_ENUM(NSInteger, UIDatePickerMode) { UIDatePickerModeTime, // 显示小时和分钟,上午下午
2015-03-08 20:12:08 2201
IOS开发广告展示-滚动视图库
2015-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人