
Objective-C
Lu_Ca
每天一小步。。
展开
-
自定义Loading动画
自定义loading.h文件中有两个类方法,显示以及移除#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface LCSLoading : UIView+ (void)showInView:(UIView *)parentView;+ (void)dismissFromView:(UIView *)parentView;@endNS_ASSUME_NONNULL_END.m里是方法的实现@implemen原创 2020-12-10 16:05:49 · 363 阅读 · 0 评论 -
iOS查看model对应属性前后是否发生了变化
事件起因:进入到一个vc后需要判断model的属性值是否发生变化,如果变化做出处理,如果没有变化则不处理。思路1:for循环model的属性,然后通过一一比对旧model和新model的值,来判断是否发生了变化。思路2:通过runtime获取到model的属性列表以及对应的值,将这些key-value存储到字典中,通过比对字典是否一样。结论:思路1比较繁琐,而且拓展性也不好,所以按照思路2来实现。给model添加一个方法:- (NSDictionary *)propertyValueD原创 2020-11-26 16:42:51 · 1590 阅读 · 0 评论 -
CGRect、CGPoint等不能添加到数组中问题
因为CGRect、CGPoint等不是NSObject的子类,因此不能直接添加到数组中,需要先将他们转成NSOject的子类。这时候可以借助NSValue类,先将其转为NSValue就可以添加到数组中了。借助NSValue的几个类方法[NSValue valueWithCGPoint:<#(CGPoint)#>][NSValue valueWithCGRect:<#(CGRect)#>]然后,将返回的value值加入到数组中即可。从数组中读取后再通过CGRect...原创 2020-11-25 15:19:20 · 301 阅读 · 0 评论 -
对无序数组排序,并将某个元素插入到数组对应位置
对无序数组排序,并将某个元素插入到数组对应位置首先是对无序数组的排序实现假设数组oldArray中保存的是model,并且以model的number排序,利用系统的方法: NSArray *orderArray = [oldArray sortedArrayUsingComparator:^NSComparisonResult(CustomModel * _Nonnull model1, CustomModel *_Nonnull model2) { NSInteger numb原创 2020-11-25 11:06:37 · 723 阅读 · 0 评论 -
NSCondition的用法
NSCondition的用法使用NSCondition,实现多线程的同步,即,可实现生产者消费者问题。基本思路是,首先要创建公用的NSCondition实例。然后:消费者取得锁,取产品,如果没有,则wait,这时会释放锁,直到有线程唤醒它去消费产品;生产者制造产品,首先也是要取得锁,然后生产,再发signal,这样可唤醒wait的消费者。-转载 2015-10-28 17:09:48 · 1102 阅读 · 0 评论 -
ios开发过程中的一些笔记,不断更新中。。。
记录学习中的点点滴滴:1、一个类,无论是继承自nsobject还是继承自uiviewcontroller,初始化一些东西时,难免需要程序运行后只走一遍,例如一些页面的初始值,一些model的初始值。当我们需要只是运行程序就会初始化一次时,我们可以调用这两个方法:+(void)initialize{}+(void)load{原创 2015-09-29 13:50:15 · 803 阅读 · 1 评论 -
the file “XXX” could not be opened because you don't have permission to view it
the file “XXX” could not be opened because you don't have permission to view it 分类: iphone2014-09-25 09:42 16437人阅读 评论(11) 收藏 举报今天使用Xcode6,突然提示我"the file “XXX” could not be opened because转载 2015-09-30 11:34:30 · 993 阅读 · 0 评论 -
Object-c学习笔记十八-----NSPredicate
Object-c学习笔记十八-----NSPredicate 分类: Object-C学习笔记2011-10-06 13:12 7915人阅读 评论(0) 收藏 举报正则表达式cocoaoop存储cCocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配。谓词表示计算真值转载 2015-10-08 08:57:19 · 693 阅读 · 0 评论 -
ios 基本图形的绘制
ios 基本图形的绘制 2014-05-14 16:48 8130人阅读 评论(1) 收藏 举报 分类:ios(19) 版权声明:本文为博主原创文章,未经博主允许不得转载。转自:http://www.maxiaoguo.com/clothes/252.html基本图形的绘制 包括: 代码画线,画文字 图片 裁剪 重绘 简转载 2015-12-02 16:10:57 · 657 阅读 · 0 评论 -
loadView、viewDidLoad及viewDidUnload的关系
分类: iOS基础2013-02-26 15:49 6910人阅读 评论(4) 收藏 举报目录(?)[+]标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间的联系。loadView1.什么时候被调用?每次访问UIVi转载 2015-04-30 08:47:07 · 658 阅读 · 0 评论 -
iOS自带地图导航
在调用地图时,如果想调用百度地图需要用户安装百度地图客户端。同样,想要调用高德地图也同样需要用户安装其相应的客户端。为了用户体验感好些。可以选择调用手机自带的地图,用户不可卸载的这个自带应用。其调用方法是:只需在调用的地方写代码如下:NSString *mapLink = [[NSStringalloc] initWithFormat:@"http://maps.app原创 2015-04-29 08:50:30 · 1609 阅读 · 2 评论 -
极光推送的使用介绍
极光推送的使用介绍 分类: 小技术2015-11-17 14:26 21人阅读 评论(0) 收藏 举报iOSiOS9极光推送推送极光极光推送官网: https://www.jpush.cn1.首先进行注册.2.选择继续创建应用3.填写具体的信息4.这时候就可以查看我们生成的证书内容了转载 2015-11-18 17:27:16 · 909 阅读 · 0 评论 -
iPhone如何查询序列号 iPhone激活时间查询
iPhone如何查询序列号 iPhone激活时间查询 在使用苹果产品的时候,往往需要查询产品激活时间,这就要查询iPhone序列号,那么iPhone如何查询序列号呢?今天小编就来介绍下,iPhone查询序列号的相关方法,希望给使用iPhone的朋友们带来一些帮助。 第一步: 首先用iPhone打开“设置”,然后进入“通用”。转载 2015-09-17 15:25:54 · 2819 阅读 · 0 评论 -
多线程之-GCD
多线程编程4 - GCD分类: iOS基础 2013-02-03 00:26 15296人阅读 评论(3)收藏 举报iosiOSIOS同步多线程并发异步一、简介在iOS所有实现多线程的方案中,GCD应该是最有魅力的,因为GCD本身是苹果公司为多核的并行运算提出的解决方案。GCD在工作时会自动利用更多的处理器核心,以充分利用更强大的机器。GCD是Gra转载 2015-05-21 15:26:33 · 576 阅读 · 0 评论 -
OpenUrl 大集合
学习iOS编程以来,初次感觉这个功能很强大有木有,一些小用法如下。如果有不足之处还请各位大神指出=========================1.//打开浏览器[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"http://wap.baidu.com"]];==============原创 2015-04-29 09:09:26 · 1126 阅读 · 1 评论 -
iOS常用快捷键
iOS中常用的快捷键command+[:左缩进command+]:右缩进 control-F: 向右一个字符(forward)control-B: 向左一个字符(backward)control-P: 前一行(previous)control-N: 后一行(next)control-A: 去行首control-E: 到行尾(end)control-T:原创 2015-06-05 17:58:02 · 1124 阅读 · 0 评论 -
block的简单回调传值
由于block的火热,让我这个菜鸟也不得不多了解一下block的基本用法,虽然我之前用的是protocal代理的方式在页面之间进行的传值。但是,block的火热让我不得不来写一个demo学习下,好了废话不多说。我所理解的block的简单用法:首先借用大家比较熟知的一张图来解释下一般的block的样子,以及各个参数的意义。按照调用函数的方式调用块对象变量就原创 2015-11-19 14:36:31 · 2698 阅读 · 0 评论 -
ios Block 类型
Objective-C 中 Block 有三种类型:NSStackBlock 存储于栈区NSGlobalBlock 存储于程序数据区NSMallocBlock 存储于堆区MRC 下 @property (nonatomic, copy ) void(^block)(); int value = 10; void(^blockA)() = ...转载 2018-11-06 09:03:57 · 847 阅读 · 0 评论 -
iOS开发常用函数
1、 三角函数 double sin (double); 正弦 double cos (double);余弦 double tan (double);正切 2 、反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan (double);转载 2017-10-31 10:23:41 · 399 阅读 · 0 评论 -
判断是否为整形
//判断是否为整形- (BOOL)isPureInt:(NSString *)string{ NSScanner *scan = [NSScannerscannerWithString:string]; int val; return [scanscanInt:&val] && [scan i原创 2016-06-20 13:50:02 · 817 阅读 · 0 评论 -
iOS的MD5/SHA1加密算法的实现
HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突所谓不可逆,就是当你知道x的HASH值,无法求出x;所谓无冲突,就是当你知道x,无法求出一个y, 使x与y的HASH值相同。这两条性质在数学上都是不成立的。因为一个函数必然可逆,且由于HASH函数的值域有限,理论上会有无穷多个不同的原始值,它们的hash值都相同。MD5和SHA做到的,是求逆和求转载 2016-06-17 10:54:57 · 850 阅读 · 0 评论 -
去除数组中重复的元素
今天遇到一个需求,一个数组中有一些元素,当然是什么元素就不知道了。总之,不能让数组中的元素重复。一开始想到的方法是遍历这个数组,一个一个的查找。但是总感觉这样太繁琐,于是,找了点资料总结了以下两种解决办法1.利用NSDictionary的AllKeys(AllValues)方法可以将NSArray中的元素存入一个字典,然后利用AllKeys或者AllValues取得字典的所原创 2016-05-10 10:30:11 · 1243 阅读 · 0 评论 -
iOS自带MD5加密
iOS自带MD5加密 标签: iOSMD5iOS原生MD5加密MD5加密加密2016-05-17 11:41 56人阅读 评论(0) 收藏 举报 分类: iOS(7) 版权声明:本文为博主原创文章,未经博主允许不得转载。iOS自带MD5加密#import - (NSString *)MD5:(NSStrin转载 2016-05-25 15:03:03 · 4052 阅读 · 0 评论 -
Xcode 7.3 cannot create __weak reference in file using manual reference counting解决方法
测试机更新到ios9.3后xcode不得不更新了。下载了xcode7.3后,运行项目后报错,只好查了查,最终找到了结果更新7.3后编译可能会出现这个错。官方的回答在这里:https://forums.developer.apple.com/thread/38934还有一个结果如下:1 doesn’t apply to MRR, because you just do原创 2016-04-27 10:04:01 · 656 阅读 · 1 评论 -
iOS8 【xcode6中添加pch全局引用文件】
iOS8 【xcode6中添加pch全局引用文件】 (2014-11-27 11:13:02)转载▼标签: xcode6pch pch文件 xcode全文引用 prefixheader (srcroot)分类: iOS前沿:xcode6中去掉了pch,为了一些琐碎的头转载 2016-02-23 10:55:01 · 1064 阅读 · 0 评论 -
ffmpeg解码流程
ffmpeg解码流程 2012-10-26 10:00 5932人阅读 评论(0) 收藏 举报 分类: Android(19) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]FFMPEG解码流程:1. 注册所有容器格式和CODEC:av_regi转载 2016-03-07 11:18:26 · 865 阅读 · 0 评论 -
NSAssert的使用
NSAssert((img), @"Img not found");当img不存在时,系统会抛出异常,提示Img not found,方便调试苹果在foundation.framework中定义了这么一个宏:#define NSAssert(condition, desc, ...)第一个参数为一个条件判断,如果为假,则抛出异常,显示第二个参数所描述的信息。原创 2015-11-17 15:04:30 · 557 阅读 · 0 评论 -
Objective-C 对 URL 进行 URLEncode 编码
Objective-C 对 URL 进行 URLEncode 编码方法一:NSString *encodeStr = (NSString *)[string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];以前一直用这个方法来进行url的转码,但是这样转码有一个问题就是当网址中只有中文时转码原创 2015-10-10 14:43:35 · 3098 阅读 · 0 评论 -
iOS中获取当前时间
iOS中获取当前时间UITextField *textField = [[UITextFieldalloc] initWithFrame:CGRectMake(10,350, 300, 40)]; textField.borderStyle =UITextBorderStyleRoundedRect; textField.back原创 2015-12-04 14:10:06 · 1185 阅读 · 0 评论 -
iOS中数据持久存储方式及区别
1 NSUserdefaults主要用来存储一些短小的信息,例如应用程序设置和属性及用户数据。2 属性列表以列表的形式把数据存储到磁盘上。属性列表类包括NSArray, NSDictionary, NSString, NSNumber, NSDate, NSdata。这些类型的数据可用直接调用writeToFile和相应的加载函数来存储到磁盘和从磁盘读出。相应的加载函数原创 2015-06-09 16:55:25 · 967 阅读 · 1 评论 -
iOS中self关键字
self关键字1,实例方法里面的self,是对象的首地址。2,类方法里面的self,是Class.尽管在同一个类里面的使用self,但是self却有着不同的解读。在类方法里面的self,可以翻译成class self;在实例方法里面的self,应该被翻译成为object self。在类方法里面的self和实例方法里面的self有着本质上的不同,尽管他们的名字都叫self。原创 2015-06-09 11:53:08 · 914 阅读 · 0 评论 -
stretchableImageWithLeftCapWidth:topCapHeight:使用
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。转载 2015-06-08 10:39:20 · 605 阅读 · 0 评论 -
kvc VS kvo
Kvo是Cocoa的一个重要机制,它主要是用于对一个属性的新旧值的监控。比方说根据A(数 据类)的某个属性值变化,B(view类)中的某个属性做出相应变化。对于MVC,kvo应用的地方非常广泛。使用kvo流程:1 注册:-(void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath options:(原创 2015-06-08 13:45:38 · 753 阅读 · 0 评论 -
NSMutableAttributedString常规用法
首先导入CoreText.framework,并在需要使用的文件中导入:#import创建一个NSMutableAttributedString:创建方式:NSMutableAttributedString *attriString = [[[NSMutableAttributedString alloc] initWithString:@"this is string!”原创 2015-06-18 10:41:38 · 1017 阅读 · 0 评论 -
int和NSInteger和long区别
int和NSInteger区别查到c语言中,int和long的字节数是和操作系统指针所占位数相等。但c语言中说,long的长度永远大于或等于intobjective-c里,苹果的官方文档中总是推荐用NSInteger它和int有什么区别呢,stackoverflow这帮大神给了答案。原来在苹果的api实现中,NSInteger是一个封装,它会识别转载 2015-06-19 11:19:25 · 2502 阅读 · 0 评论 -
IOS学习笔记65 —— ARC中__bridge, __bridge__transfer, __bridge_retained 关系
IOS学习笔记65 —— ARC中__bridge, __bridge__transfer, __bridge_retained 关系分类: IOS技术开发2014-05-10 18:10 1415人阅读 评论(0) 收藏 举报__bridgeCFStringRefCFBridgingReleaseCFBridgingRetain 当你在 Ob转载 2015-06-17 18:14:18 · 602 阅读 · 0 评论 -
iOS中获取当前时间和日期并设置格式
获取当前时间NSDate * timeDate=[NSDatedate]; NSDateFormatter *dateformatter=[[NSDateFormatteralloc] init]; [dateformattersetDateFormat:@"HH:mm:ss"]; //[da原创 2015-06-17 13:42:32 · 3410 阅读 · 0 评论 -
instancetype和id的区别
instancetypeinstancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。关联返回类型(related result types)根据Cocoa的命名规则,满足下述规则的方法:1、类方法中,以alloc或new开头2、实例方法中,以autorelease,init,retain或self开头原创 2015-05-28 16:53:50 · 1145 阅读 · 3 评论 -
ios中的一些框架
面试中常问,知道什么框架Foundation提供OC的基础类(像NSObject)、基本数据类型等UIKit创建和管理应用程序的用户界面QuartzCore提供动画特效以及通过硬件进行渲染的能力CoreGraphics提供2D绘制的基于C的API原创 2015-05-21 14:36:08 · 525 阅读 · 0 评论 -
多线程之-NSOperation
多线程编程2 - NSOperation分类: iOS基础 2013-02-02 22:39 6048人阅读 评论(2)收藏 举报iosiOSIOS同步多线程并发异步一、NSOperation1.简介NSOperation实例封装了需要执行的操作和执行操作所需的数据,并且能够以并发或非并发的方式执行这个操作。NSOperation本身转载 2015-05-21 15:09:23 · 570 阅读 · 0 评论