![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OC小知识点的整理
JDD_0570
如果有很多胡思乱想的时间,那多做做笔记,装点自己的内在。
展开
-
iOS 结合YYLabel实现文本的展开和收起
实现文本的展开与收起原创 2022-09-08 18:21:36 · 3755 阅读 · 0 评论 -
iOS UICollectionView reloadData之后setContentOffset失效
在项目中遇到一个问题,滚动UICollectionview的setContentOffset的时候,这个展现的和预想的在一些情况下会不一样。也不是必现,但是这个bug偶发性还挺高。我代码里是直接这样实现的debug了也挺长时间的,跟踪的返回数据都是正确的,但是就是没有展现预期的效果,后来从度娘上找到了大概原因:setContentOffset和reloadData是异步执行的,setContentOffset并不会在reloadData完全reload完成之后才调用,所以会出现有时候setConten原创 2022-07-11 13:12:11 · 1419 阅读 · 0 评论 -
iOS 深拷贝浅拷贝
之前除了面试中会被问道类似这样的问题,平时工作中没有特别注意过这个深拷贝浅拷贝有啥影响,直到项目中出现了问题,才高度重视起来,那么重新认识一下深浅拷贝吧。事情是这样的,我需要两个数组,一个数组存放源数据,另一个数组存放源数据基础上会变动的数据。这两数组都定义成了可变数组@property (nonatomic, strong) NSMutableArray *dataArray;@property (nonatomic, strong) NSMutableArray *dataArray_o原创 2022-05-12 14:02:03 · 463 阅读 · 0 评论 -
iOS self.xx 和_xx的区别
一般情况下我习惯的是用self.xx,这次在做换肤功能的时候,上网看了些案例,然后copy了一些功能,其中有用到_xx的,刚开始做的时候没啥问题,等到功能做的差不多了,正在测试的时候,发现总有个情况,换肤会有问题。debug的时候,看到的结果和我想的结果不一样。_xx获取到的是nil。self.xx会调用xx的setter/getter方法,访问的是属性;_xx是成员变量。- (BOOL)changeTheme:(NSString *)themeName{ /** 判断当前切换主题是否原创 2022-04-29 15:40:30 · 327 阅读 · 0 评论 -
AES256加解密
本地有个plist文件,需要对里面的几个字段加密,刚开始用的base64加密的,老大说太简单,网上搜罗了一下,觉得这个加密法挺合适:AES:高级加密标准(Advanced Encryption Standard) 加密步骤: 字符串经过AES加密得到NSData类型数据,然后在对加密后的NSData数据进行Base64转码,得出最终的字符串 解密步骤: 对要解密的字符串进行Base64解码得到NSData类型数据,然后对NSData数据经过AES解密,得出原字符串//创建一...原创 2021-11-09 10:25:26 · 4991 阅读 · 0 评论 -
ios 字典enumerateKeysAndObjectsUsingBlock遍历
enumerateKeysAndObjectsUsingBlock :使用代码块来迭代执行该集合中所有的key-value对 NSDictionary *dict = @{@"a": @"1", @"b": @"2"}; [dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { ...原创 2019-04-26 14:43:51 · 493 阅读 · 0 评论 -
NSString的积累
记录工作过程中遇到的自己觉得可以学习的知识点,也算是做笔记。原创 2018-04-04 15:16:44 · 116 阅读 · 0 评论 -
浅谈iOS NSNotification
通知有四步走:1、发送通知:创建通知的时候有两种情况:(发送通知:调用观察者处的方法)(1)- (void)postNotificationName:(NSNotificationName)aName object:(nullable id)anObject;参数说明:postNotificationName:通知的名字,也是通知的唯一标示,编辑器就通过这个找到通知。这个名字和接收通知的名字要对应原创 2018-01-19 11:39:42 · 1518 阅读 · 0 评论 -
iOS基础积累
1.如何保证单例的线程安全?单例为信息共享提供了方便,但是如果多个线程访问同一个单例的时候,怎么保证只实例化了一次呢?static JDDSingle *instance = nil;+ (JDDSingle *)shareInstance { dispatch_once_t token; dispatch_once(&token, ^{ if ...原创 2017-12-15 13:57:07 · 292 阅读 · 0 评论 -
OC与JS之间的交互
最近产品提出需要加我目前维护的登录SDK,添加到公司的H5游戏上去,相当于做一个H5游戏的微端。然后以前也没具体接触过OC和JS的交互,觉得很新奇。其实了解了大致的做法,并不难实现。下面我就用我这边写的东西做个例子。需求是这样的:在调用我客户端的登录SDK之前,需要知道H5游戏那边的登录状态,如果没有登录,则需要调出SDK的登录界面,用户点击登录,SDK返回token,将得到的toke原创 2017-12-22 16:27:27 · 212 阅读 · 0 评论 -
关于Xcode编译或者运行过程中遇到的错误
1. iOS 在Xcode9.2下编译项目的时候遇到 “Safe Area Layout Guide before iOS 9.0”和“ Launch screens may not set custom classnames”的错误时,如下:解决方案如下:点击相应的错误,然后将上图中红框标出来的对勾去掉,问题解决。原创 2017-12-20 10:41:37 · 447 阅读 · 0 评论 -
模拟器尺寸不对如何解决-启动图片
当在运行程序时发现模拟器的显示如下情况时,上下出现黑线条,这是启动图片出现了问题。可以对启动图片进行调整1.如果公司给提供了LaunchImage,那么可以将LaunchImage的图片导入到工程中,步骤如下:正常的模拟器显示如下:2.如果公司并未提供LaunchImage,那么可以自己新建一个Launch Screen.storyboard,然后在工程里面将Launc原创 2016-01-18 14:08:13 · 1498 阅读 · 0 评论 -
UILabel的一些基本使用
//实例化UILabel对象 UILabel *label=[[UILabel alloc]init]; //设置label1的坐标和大小 label.frame=CGRectMake(0, 20, 320, 30); //设置label显示的文本 label.text=@"你好"; //设置label1的背景颜色 label1原创 2016-01-28 22:06:01 · 334 阅读 · 0 评论 -
NSString从字符串开头截取到指定字符的位置
从字符串开头截取到指定的字符位置,有两种可行的办法,一种是用分割法,这个方法的前提是你要截取的这一段字符串里面不包含和这个指定的字符串的相同的字符,第二种方法是匹配字符的位置,然后截取想要的字符串。 //从开始位置截取到“?”的字符串 NSString *str = @"http://cm22.c110.play.bokecc.com/flvs/ca/Qxc52/uolaj09Z原创 2016-03-01 13:15:42 · 5456 阅读 · 0 评论 -
NSLog自定义打印
在编写项目的时候会用到NSLog,这个帮助我们很多,可以检查结果是否是我们想要的。NSLog是xcode自带的,我们也可以将打印的名称改成自己喜欢的,比如改成JDDLog。只需要在你的pch文件里重新定义一下就可以,实现代码如下:#define JDDLog(...) NSLog(@"%@",[NSString stringWithFormat:__VA_ARGS__])还可以在打印的时候原创 2016-03-01 13:37:53 · 328 阅读 · 0 评论 -
Xcode报错
1. iPhone上已经装了包标识符一样的 App,删掉再运行。更多的可以看点击打开链接原创 2017-01-06 11:01:14 · 387 阅读 · 0 评论