
iOS
文章平均质量分 52
蓝SE矢车菊
记录iOS开发过程中的点滴
展开
-
Swift Archiving序列化
Swift中新的序列化方式原创 2022-07-14 23:17:48 · 589 阅读 · 0 评论 -
Swift中struct与class的区别
Swift中的结构体与类的区别原创 2022-07-08 00:40:19 · 657 阅读 · 0 评论 -
iOS相机、相册的访问权限
iOS访问相机、相册时带弹框的权限提示、不带弹框的权限判断原创 2022-07-01 15:41:10 · 2949 阅读 · 0 评论 -
iOS开发技术之蓝牙通信功能的实现
iOS开发技术之蓝牙通信功能的实现一、相关介绍CoreBluetooth专门用于与BLE设备通讯。并且现在很多蓝牙设备都支持4.0,4.0以其低功耗著称,所以一般也叫BLE(Bluetooth low energy),所以也是在iOS比较推荐的一种开发方法。Central(中心设备);Peripheral(外围设备);advertising(广告);Services(服务);Characteristic(特征)MFI (make for iPad ,iTouch...转载 2021-01-28 12:09:44 · 1092 阅读 · 0 评论 -
iOS13 UIPopoverController布局问题
iOS 13 以后,UIPopoverController弹出的view的size要比设置的preferredContentSize多13个尺寸,导致布局偏移,如下图:iOS13: iOS12: ...原创 2020-02-21 17:34:49 · 555 阅读 · 0 评论 -
NSLog输出中文
Xcode在打印log的时候,中文会转成十六进制编码输出,不方便查看,网上大部分的解决方法是重写下面这个方法:- (NSString *)descriptionWithLocale:(nullable id)locale indent:(NSUInteger)level;当数据的嵌套格式比较深,这种打印方式如果没有做格式化处理,是很难看清数据的层次结构,若想实现数据按层级缩进打印,代码就...原创 2020-01-22 14:36:09 · 361 阅读 · 0 评论 -
iOS归档解档
归档与解档是iOS中序列化与反序列化的方式,需要实现encodeWithCoder 和initWithCoder 方法,实现方式有两种:第一种是分别为属性赋值;第二种是通过runtime机制,循环为属性赋值。新建Teacher类@interface Teacher : NSObject@property (nonatomic, strong) NSString *grade;//...原创 2019-09-04 15:30:17 · 1872 阅读 · 0 评论 -
iOS绘制1像素的线
有时候页面上需要绘制1像素的分隔线,可以通过添加 view 的方式,也可以通过UIGraphicsGetCurrentContext 的方式实现。但是通过UIGraphicsGetCurrentContext实现的时候需要注意像素的问题。在绘制1像素线之前,我们先来看一下绘制高度为50的线是什么样的效果。以下图均为模拟器上的截图放大后显示,红色为view的方式,黑色为UIGraphicsGe...原创 2019-09-04 08:54:59 · 513 阅读 · 0 评论 -
UITableView之性能优化
网上有好多关于UITableView性能优化的文章,我在这里稍微整理,说明需要注意的几个要点。1、创建Cell的两个复用方法就不多说了,方法如下:dequeueReusableCellWithIdentifier:(NSString *)identifier;dequeueReusableCellWithIdentifier:(NSString *)identifier forInd...原创 2019-08-04 11:19:40 · 141 阅读 · 0 评论 -
根据不同configuration加载不同的plist文件
在iOS开发过程中,可以根据不同的环境读取不同的plist文件,而有些plist文件是由第三方库读取的。例如:PushConfig,在开发过程中(Debug模式下)发布版本(Release模式下)通过手动修改的方式很容易忘掉, 这时可以建立两个plist文件,通过shell脚本来配置对应的文件。1.建立两个文件名一样的plist文件,分别放在不同的文件夹下...原创 2017-01-06 13:25:47 · 464 阅读 · 0 评论