iOS
Tough-Life
代码搬运工!
展开
-
C与OC的桥接
C、OC转换注意事项原创 2022-06-22 10:37:05 · 759 阅读 · 1 评论 -
OC底层学习-05-bits中属性
(lldb) p/x LGPerson.class(Class) $0 = 0x00000001000084b8(lldb) p (class_data_bits_t *)0x00000001000084d8(class_data_bits_t *) $1 = 0x00000001000084d8(lldb) p $1->data()(class_rw_t *) $2 = 0x0000000100746c40(lldb) p *$2(class_rw_t) $3 = { flags.原创 2021-12-15 15:16:46 · 1485 阅读 · 0 评论 -
OC底层学习-05-bits中存储对象方法
(lldb) x/4gx LGPerson.class0x1000084b8: 0x0000000100008490 0x000000010036e1400x1000084c8: 0x0000000100366380 0x0000803800000000(lldb) p (class_data_bits_t *)0x1000084d8(class_data_bits_t *) $1 = 0x00000001000084d8(lldb) p $1->data()(class_rw_t *).原创 2021-12-15 15:07:30 · 1547 阅读 · 0 评论 -
OC底层学习-04-ISA走位
isa原创 2021-07-01 14:13:46 · 101 阅读 · 0 评论 -
OC底层学习-01-alloc
1、alloc创建对象的流程图如下:原创 2021-06-21 13:23:47 · 94 阅读 · 0 评论 -
OC底层学习-03-nonpointer
nonpointer:表示是否对isa指针开启指针优化0:纯isa指针;1:不止是类对象地址,isa中包含l原创 2021-06-15 23:32:28 · 154 阅读 · 0 评论 -
OC底层学习-03-对象的本质
1、将OC代码转换成C++代码打断点原创 2021-06-15 23:22:13 · 205 阅读 · 4 评论 -
OC底层学习-02-结构体内存对齐
1、基本数据类型占用内存大小原创 2021-06-09 13:14:24 · 99 阅读 · 0 评论 -
Xcode 真机调试: AVAudioPlayer 没有声音的解决办法
首先,确定是那种的没有声音扬声器没有声音,在AVAudioPlayer前加入如下代码: AVAudioSession *audioSession = [AVAudioSession sharedInstance]; [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil]; ...转载 2018-05-02 10:22:10 · 2081 阅读 · 0 评论 -
iOS 创建自己的开源库
文章地址:开创自己的开源库转载 2018-05-01 18:10:53 · 228 阅读 · 0 评论 -
Swift基础学习
备份一下Swift学习网址:Hangge 中 Swift 学习转载 2018-05-01 17:01:00 · 121 阅读 · 0 评论 -
如何清理旧的Provisioning Profiles文件
参考:点击打开链接iOS开发时经常遇到描述文件里不包含签名。Provisioning profile "iOS Team Provisioning Profile:xxx" doesn't include signing certificate1. 资源库---->MobileDevice---->Provisioning Profiles,将里面的齿轮文件全部删除,然后到Xcode下...转载 2018-05-01 16:58:46 · 1725 阅读 · 0 评论 -
Xcode 打包编译时遇到:Task failed with exit 1 signal 0
https://blog.csdn.net/qq_26744901/article/details/79064125解决方案:当提示在钥匙串中输入密码时,请按“始终允许”,而不是简单地允许。如果您目前正处于这个过程中,请重新启动计算机,然后打开Xcode并在通用设备上模拟,然后系统会提示您重新输入密码。确保点击始终允许。...转载 2018-05-01 16:43:11 · 1359 阅读 · 0 评论 -
RAC中的过滤方法
【filter / ignore / take / takeLast / takeUntil / distinctUntilChanged / skip】简单用法转载 2017-12-04 15:34:07 · 835 阅读 · 0 评论 -
RAC中组合的使用
concatthenmergezipWithcombineLatestreduce转载 2017-12-04 14:46:21 · 1766 阅读 · 0 评论 -
RAC中集合的操作
RACTuple RACSequence map: flattenMap: RAC解析数据转载 2017-12-04 13:31:41 · 878 阅读 · 0 评论 -
iOS绘制视图
iOS上主要的绘图技术有:UIKit、Quartz 2D、Core Animation和OpenGL ES。 UIView绘制方法主要是drawRect:方法,还有setNeedsDisplay和setNeedsDisplayInRect:方法。 触发视图重绘的动作有以下几种: (1)当遮挡视图的其他视图被移动或删除操作时。 (2)将视图的hidden属性声明设置转载 2017-09-22 07:51:16 · 595 阅读 · 0 评论 -
UITabBarController(二)自定义UITabBar方式一
转载自:(http://www.jianshu.com/p/fcf0f6933ffe)自定义UITabBar代码如下:// 中间凸起部分的按钮-(UIButton *)centerBtn{ if (_centerBtn == nil) { _centerBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 90, 9转载 2017-11-01 09:52:59 · 206 阅读 · 0 评论 -
UITabBarController(一)简单操作
这里提供UITabBarController简单的设置1. 在Storyboard进行设置首先,打开storyboard,将“TabBarController”拖入其中: 其次,选择一个tabbar的子视图控制器,可进行名称和icon的设置。 最后,右击“Tab Bar Controller”以添加子视图控制器: 2. 通过代码来实现UITabBarController及相关设置:首先,自转载 2017-11-01 09:39:26 · 170 阅读 · 0 评论 -
UITabBarController(三)自定义UITabBar方式二
自定义UITabBar 本文参考至:[iOS 自定义 UITabBar 的样式]http://www.jianshu.com/p/fcf0f6933ffe自定义以下控件类:自定义UIButton(图标与文字垂直居中显示)自定义View放置Tab选项自定义UITabBar覆盖原有的视图内容自定义UITabBarController,添加相关逻辑及子视图自定义UIButton主要将原有的转载 2017-11-02 07:26:30 · 287 阅读 · 0 评论 -
UICollectionView的简单使用
自定义UICollectionViewCell 设置UICollectionViewCell大小 设置滚动方向(垂直滚动、水平滚动) 设置间距(垂直间距、水平间距) 自定义头部和底部自定义UICollectionViewCell@interface CollectionViewCell ()@property (nonatomic, strong) UIImageVie原创 2017-11-03 15:43:42 · 231 阅读 · 0 评论 -
UITableView的简单使用
显示Cell时添加动画小哥哥 主要有UITableView侧滑出现按钮 #import "SlideTableCellController.h"#import "SlideTableCell.h"@interface SlideTableCellController () <UITableViewDelegate, UITableViewDataSource>@property (non原创 2017-11-04 12:22:35 · 218 阅读 · 0 评论 -
UITableViewCell中嵌套UICollectionView
自定义UITableViewCell,用于添加UICollectionView 自定义UICollectionView,添加属性监听点击CollectionView内容时所在第行数 需将UITableView的代理和UICollectionView的代理放置在同一个Controller里,以便后续操作 自定义的UICollectionView如下:@interface CustColl原创 2017-11-04 12:49:42 · 5363 阅读 · 0 评论 -
ReactiveCocoa导入
ReactiveCocoa导入注意事项转载 2017-12-02 11:46:32 · 784 阅读 · 0 评论 -
RAC的基础类的使用
RACSignal、RACSubject、RACReplaySubjectRACSignal // **1. 创建信号** RACSignal *signal = [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber> _Nonnull subscriber) { // 该block,只要该转载 2017-12-04 10:50:59 · 187 阅读 · 0 评论 -
RAC中常见用法
代替代理:rac_signalForSelector:代替KVO:rac_valuesAndChangesForKeyPath:监听事件:rac_signalForControlEvents:代替通知:rac_addObserverForName:监听文本框文字改变:rac_textSignal:多个请求结束后,才能刷新界面:rac_liftSelector:withSignalsFrom转载 2017-12-04 11:28:20 · 1230 阅读 · 0 评论 -
RAC中常见的宏
RAC中常见宏的使用转载 2017-12-04 11:39:36 · 540 阅读 · 1 评论 -
RACMulticastConnection使用简介
RACMulticastConnection 当一个信号,被多次订阅时,为了保证创建信号时,避免多次调用创建信号中的block,造成副作用,可以使用该类处理。转载 2017-12-04 11:51:45 · 232 阅读 · 0 评论 -
RACCommand使用简介
RAC中用于处理事件的类,可以把事件如何处理,事件中的数据如何传递,包装到这个类中,他可以很方便的监控事件的执行过程。转载 2017-12-04 13:00:13 · 705 阅读 · 0 评论 -
Mac下JSON字符串转Model对象工具(JSONExport)
1. JSONExport安装 下载地址:https://github.com/Ahmed-Ali/JSONExport下载zip包后,解压后如下图:双击选择文件,通过xcode打开该工程:打开后,使用快捷键(command+b)进行编译工程,在工程products文件夹下,生成.app应用文件。右击鼠标进入JSONExport.app所在的文件夹下:将JSONExport.app拖拽到“应用原创 2017-09-19 08:18:55 · 7772 阅读 · 0 评论