自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 XZCarouselView:iOS 轮播图、仿微信大图查看界面转场效果

`XZCarouselView ` 除了支持无限轮播、自动轮播、轮播方向、缩放等常用功能外,还支持内容自适应、获取轮播进度、自适应布局方向(针对阿拉伯语等自右向左布局等系统)、重用机制、添加自定义切换动画等功能,基本能满足大部分业务中对轮播图的需求。`XZCarouselView ` 最大的特点应该就是支持切换进度事件的获取,特别方便做联动效果。

2019-03-19 00:14:34 469

原创 安装或升级Cocoapods失败:Failed to build gem native extension

安装Cocoapods,或使用Cocoapods报错“Failed to build gem native extension”的解决办法。

2022-09-19 15:08:23 1614

原创 实现NSFastEnumeration协议

一、接口文档实现NSFastEnumeration协议就可以用for-in来进行遍历集合了,而这个协议也仅仅需要实现一个方法就可以了。typedef struct { // 用来保存迭代过程中的状态,默认值 0 unsigned long state; // 把要迭代的元素放这个 C 数组里 id __unsafe_unretained _Nullable * _Nullable itemsPtr; // 迭代过程中,集合是否被修改的标志位 unsigne

2021-08-17 20:31:03 145

原创 在C语言中,各数据类型的大小

在C语言中,各数据类型的变量所占用的内存大小,单位字节。类型32位编译器64位编译器说明*48一个指针变量的字节长度char11字符short int22int44unsigned int44float44double88long48long long88unsig...

2019-11-11 20:59:37 658

原创 如何在 macOS 深色模式下,单个应用使用浅色模式

为单个应用关闭“深色”模式,比如 Chrome 浏览器。# 找到osascript -e 'id of app "Chrome"'# defaults write com.google.Chrome NSRequiresAquaSystemAppearance -bool yes下面的命令在测试版中可以为单个应用打开深色模式,但是目前正式版没有这个功能。defaults write ...

2019-06-18 13:53:33 3071

原创 Git仓库重置与体积优化

长时间使用后,Git 仓库会随着提交次数的增加而变得越来越大,一般情况下并不影响使用,但是对于那些经常需要克隆的仓库来说,就特别影响效率了。比如你是开源提供者,如果仓库过大,别人克隆的时候就很慢了,特别是如果你把代码上传到了国外的网站上时,代码迟迟下载不了,就很影响体验了。一、在不删库的情况下重置所有提交记录重置前最好压缩备份重要的 tag ,然后删除所有的本地 tag 和分支。# 1. 同...

2019-05-05 12:53:47 2296

原创 如何在 Objective-C 中实现 Swift 中的 defer 一样的功能

今天要介绍的是 XZKit 框架的基础模块 XZKitConstants 模块提供的一个小功能 defer 宏。什么是 defer ?defer 是一种延迟执行机制,就是希望某一段代码能在前面写,但是能够在后面(比如作用域末尾)执行。最在 iOS 开发中,会用到这样一些成对使用的函数,比如 UIGraphicsBeginImageContext 与 UIGraphicsEndImageCont...

2019-04-19 00:14:40 336

原创 iOS保存密码之钥匙串操作以及UDID设备唯一标识符获取的替代方法

保存密码是App项目中的常见问题,保存到 NSUserDefaults 中,显然不安全,也容易丢失。钥匙串是Mac和iOS系统中的内置的保存密码方式,不会因为删除App而丢失,支持夸组访问。但是原生的API太过难操作,网上虽然已经有人封装了相关的API,但总觉得不够明确,且自由度不够,于是花了点时间彻底研究了一下,封装了一个类 XZKeychain 。

2016-07-01 11:00:18 799

原创 iOS开发是否需要缓存UIColor

在开发中,发现有的项目对 UIColor 对象进行了缓存。个人感觉,对于 UIColor 这样的对象,其本身记录的信息有限,创建它应该不会对APP性能产生显著的影响的,为此特别写了一个 Demo 验证了一下。主要代码如下:#import <sys/time.h>// 获取时间点,精确到微秒- (double)getCurrentTime { struct ti...

2016-06-22 17:46:41 728

原创 链表的简单操作

定义一个链表:typedef struct Chain { int value; struct Chain *next;} Chain;在控制台输出链表:void chainPrint(Chain *chain) { printf("START -&gt; "); if (chain != NULL) { do { ...

2015-10-07 23:42:59 315

原创 二分查找算法的C语言实现

二分查找算法:在升序排列的数组中,查找指定元素的索引。在计算中间值时如果使用的 `max + min` 可能会产生越界,所以网上有部分该算的法代码是有 BUG 的。在下面的写法中,如果待查找的值为最小值,那么只需要一次遍历,就能判断出来。// 二分查找算法int binarySearch(int const array[], int const len, int const val...

2015-10-07 23:38:14 558

原创 UITableViewCell分割线左边顶格

UITableView 如果设置了显示分隔线,默认那个分割线左边不是完全顶格的,也就是左边没有挨上边。需要设置两个地方,可以它顶格。// tableView 的设置tableView.layoutMargins = UIEdgeInsetsZero;// cell 的设置cell.separatorInset = UIEdgeInsetsZero;cell.layoutMargins

2015-08-26 10:49:43 592

原创 Objective-C类目Category属性的实现方法

在某些情况下,我们可能需要在Category中为类添加属性,但是Category中无法生成实例变量,所以需要用到运行时的值动态绑定功能。// 在 .h 文件中@interface NSObject (SomeCategory)@property (nonatomic, strong, setter=xx_setValue:) id xx_value;@end// 在 .m 文...

2015-08-17 21:34:10 399

原创 基于 C 的 SQL Parser 实现

一个函数,可以提取SQL语句中查询字段部分。虽然函数中使用了block,但是block可以很方便的转换成纯 c 的函数,而且未来 block 也很有可能成为 c 标准。#import typedef struct Field { char name[63]; char orignal_name[63];}Field;const Field EmptyField = {

2015-08-17 16:22:22 793

原创 OC格式化SQL语句函数,提取表名

返回值是一个数组:第一个元素:是查询的table名,如果查询的表不是基本表,返回的是自动创建的临时表名。第二个元素:是格式化后的sql语句。NSArray* analyseSQLString(NSString *sqlString, NSInteger page, NSInteger pageSize){ __block NSString *selftable, *_sql

2015-07-29 10:45:33 578

原创 iOS多线程之dispatch_once剖析

一,兴趣是最好的老师。在IOS开发中,为保证单例在整个程序运行中只被初始化一次,单线程的时候,通过静态变量可以实现;但是多线程的出现,使得在极端条件下,单例也可能返回了不同的对象。如在单例初始化完成前,多个进程同时访问单例,那么这些进程可能都获得了不同的单例对象。苹果提供了dispatch_once(dispatch_once_t *predicate,dispatch_block_t ...

2015-07-18 20:38:03 7484

原创 AspUpload实时上传进度的AJAX方法

AspUpload 组件是ASP里上传文件的一个组件,可以获取上传进度。该组件的帮助文档里,有相关的源代码可参考,但是使用不灵活。根据实际使用,集合JQ和Bootstrap,写了一个可以显示进度条的JS类,调用起来比较方便。//显示文件上传进度/* *参数一,进度条的容器;参数二,进程ID;参数三,回调函数(仅在上传成功时调用) 实例化后,调用Request(),该方法提供了一个参

2015-04-01 21:53:11 938

空空如也

空空如也

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

TA关注的人

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