番薯大佬的专栏

快乐学习、快乐分享

排序:
默认
按更新时间
按访问量

swift中UITableView的使用(cell复用-自适应高度、headerView复用、footerView复用)

https://github.com/potato512/SYSwiftLearning 效果图 // MARK: - 数据 func setLocalData() { self.mainArray = NSMutableArray() f...

2016-10-24 15:20:21

阅读数:2711

评论数:0

Mac中jenkins的使用——自动构建

Mac中jenkins的使用   https://jenkins.io   Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的...

2016-08-23 11:41:04

阅读数:15096

评论数:3

xcodebuild & xcrun & xctool 脚本打包

使用脚本打包可以有三种方法。 不管使用哪种方法,项目的相关设置必须正确,如证书,描述文件等。 注意事项: 1、打包时必须进入项目目录进行 2、获取证书名称:Launchpad->其他->钥匙串访问->选择证书->鼠标右击->...

2016-08-19 11:35:32

阅读数:1252

评论数:0

xcodebuild自动打包脚本与自动上传蒲公英脚本

脚本文件"xxx.sh"使用"Sublime_Text"工具进行编辑。 在终端执行脚本时的命令:sh xxx.sh # 脚本功能说明 # 在终端,使用xcodebuild进行自动打包,以及上传到蒲公英 # # 使用步骤: ...

2016-08-10 21:01:43

阅读数:3978

评论数:1

iOS语音书写功能(语音转文本)

Demo下载地址 最近在项目开发中,需要将语音识别转换成文本的功能。研究了下科大讯飞,附上Demo分享给大家。 研发前先得做一些准备。 1、注册科大讯飞开发者帐号(http://www.xfyun.cn) 2、下载开发平台(iOS、或android,或其他)所需要的SDK(SDK包含:说明文档、S...

2016-04-28 17:44:47

阅读数:5925

评论数:0

数据缓存——SQLite关系型数据库的使用

SQLite关系型数据库的使用   数据库(Database): 存放数据的仓库, 存放的是一张的表, 特别像Excel, Numbers, 都以表格的形式存放数据, 可以创建多张表。   常见的数据库: sqlite, MySQL, SQLServer, Oracle, Access。 使用数据...

2016-04-15 23:30:39

阅读数:5012

评论数:0

数据缓存——CoreData的使用

CoreData的使用   1、使用到的对象 (1)NSManagedObjectContext 操作数据库的上下文(数据库,获取与存储),即负责应用与数据库之间的交互 作用:插入数据、查询数据、删除数据 (2)NSManagedObjectModel  数据库中所有表格和他们的联系(数据模型),...

2016-04-15 23:11:21

阅读数:4379

评论数:0

UITableViewStyleGrouped设置table样式时,出现空白间距

使用UITableViewStyleGrouped设置table样式时,且设置了属性tableFooterView时,table视图上下会出现空白间距。 怎么破? 经过一番调试和代码修改后,发现原来是设置delegate、dataSource和tableFooterView的顺序有关导致的。 ...

2018-07-19 13:51:34

阅读数:5

评论数:0

UITableView列表reloadSections等刷新数据时屏幕跳动

使用如下代码解决屏幕跳动 [UIView performWithoutAnimation:^{ NSIndexSet *reloadSet = [NSIndexSet indexSetWithIndex:1]; [self.workTable reload...

2018-07-14 21:00:08

阅读数:83

评论数:0

运行时机制重写descrption实现实体模型数据打印查看

使用前打印实体模型时,结果是这样的 (lldb) po self.userModel <SXLoginModel: 0x7fb08bc36aa0> 使用后打印实体模型时,结果是这样的 (lldb) po [self.user...

2018-07-13 16:30:53

阅读数:48

评论数:0

iPad开发中UISplitViewController和UIPopoverPresentationController的使用

对于 iPad 开发来说,因为屏幕大,为了用户操作的方便,所以通常使用 UISplitViewController来实现导航。 同时也会使用UIPopoverPresentationController实现浮窗功能。 源码地址 效果图 代码示例: 设置根视图控制器 - (BOOL)...

2018-07-12 15:46:13

阅读数:39

评论数:0

新电脑下载源码后,pod目录异常

新电脑下载源码后,pod项目异常,如图所示: 细猜,可能的原因是原来的项目是通过pod安装了第三方依赖库,而对于当前的新电脑,可能开发环境还没有配置好,可能原因如下: 1、没有安装cocoapods 2、没有使用pod install安装依赖包 根据这个思路,于是在终端进入项目文件夹,...

2018-07-07 11:40:53

阅读数:17

评论数:0

runtime方法替换

通过方法转换,将array添加元素的方法进行转换,避免添加nil对象时出现crash情况。 #import <Foundation/Foundation.h> @interface NSMutableArray (RunTime) @end ...

2018-07-07 07:54:00

阅读数:25

评论数:0

第四章 Runtime应用:实现字典和模型的自动转换

用runtime提供的函数遍历Model自身所有属性,如果属性在json中有对应的值,则将其赋值。 示例 #import <Foundation/Foundation.h> @interface Person : NSObject - (inst...

2018-07-07 00:47:03

阅读数:283

评论数:0

第四章 Runtime应用:实现NSCoding的自动归档和自动解档

用runtime提供的函数遍历Model自身所有属性,并对属性进行encode和decode操作。 通常系统自带的数据类型,如:字典NSDictionary,数组NSArray,字符串NSString,布尔数据BOOL,数字对象NSNumber,NSData,NSDate等可以直接进行存储操作;...

2018-07-07 00:33:12

阅读数:235

评论数:0

第四章 Runtime应用:方法转换

swizzling应该只在+load中完成。 在 Objective-C 的运行时中,每个类有两个方法都会自动调用。 1、+load 是在一个类被初始装载时调用; 2、+initialize 是在应用第一次调用该类的类方法或实例方法前调用的。 两个方法都是可选的,并且只有在方法被实现的情况...

2018-07-06 23:52:55

阅读数:24

评论数:0

第四章 Runtime应用:方法添加

方法添加 class_addMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, const char * _Nullable types) 1、cls 被添加方法的类 2、name 添加的方法的名称...

2018-07-06 23:46:31

阅读数:16

评论数:0

第四章 Runtime应用:关联对象(添加属性)

关联对象(Objective-C Associated Objects)给分类增加属性。 关联对象 void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy poli...

2018-07-06 23:41:19

阅读数:16

评论数:0

第三篇 Runtime消息转发

发送消息时会在对应的类对象中搜索方法列表,如果找不到则会沿着继承树向上一直搜索知道继承树根部(通常为NSObject),如果还是找不到并且消息转发都失败了就回执行doesNotRecognizeSelector:方法报unrecognized selector错。 消息转发到底是什么呢?接下来将...

2018-07-06 23:31:57

阅读数:15

评论数:0

第二篇 Runtime消息传递

一个对象的方法像这样[obj doing],编译器转成消息发送objc_msgSend(obj, doing),Runtime时执行的流程是这样的: (1)通过obj的isa指针找到它的class; (2)在class的method list找doing(直接在cache里找到,避免去遍历...

2018-07-06 22:30:26

阅读数:13

评论数:0

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