随笔分类 -  Objective-c

YYModel使用指引
摘要:模型->jsonString 方式1. NSDictionary *paramDict = getTakeupInfo.yy_modelToJSONObject; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:paramDict 阅读全文
posted @ 2022-05-12 17:58 HJiang 阅读(777) 评论(0) 推荐(0)
NSTimer弱引用,解决循环引用无法释放问题
摘要:#import <Foundation/Foundation.h> /** Timer 间接事件目标代理 */ @interface WeakTimerTarget : NSObject @property (nonatomic, weak) id target; @property (nonato 阅读全文
posted @ 2022-05-12 17:50 HJiang 阅读(101) 评论(0) 推荐(0)
NSObject中类方法load/initialize加载时机和作用
摘要:方法调用时机 相同点: 程序启动都只会执行仅且一次,再次怎么调用使用类都不会执行了. 不同点: 方法调用时机不一样. > + load程序启动类加载时就会调用,不管该类是否有使用或有Import都会执行 > + initialize 程序启动后,只有类使用时都会触发,包括调用类的类方法或对象方法; 阅读全文
posted @ 2017-09-09 17:13 HJiang 阅读(406) 评论(0) 推荐(0)
Runtime
摘要:Runtime是什么? runtime是OC底层的一套C语言的API(引入 <objc/runtime.h> 或<objc/message.h>),编译器最终都会将OC代码转化为运行时代码,底层是通过runtime创建的对象. 另外利用runtime 可以做一些OC不容易实现的功能 .动态交换两个方 阅读全文
posted @ 2017-09-04 23:16 HJiang 阅读(253) 评论(0) 推荐(0)
Runloop运行循环的理解
摘要:runloop运行流程图 定时器 结论:如果定时器在主线程中开启,可以正常运行;定时器在子线程中开启,无法正常运行; 如果对应线程没有 RunLoop 该方法也会失效,也就是说currentRunloop中 没有timer,没有source,也没有OBServer,添加 [NSRunLoop cur 阅读全文
posted @ 2017-09-04 23:00 HJiang 阅读(579) 评论(0) 推荐(0)
NSTimer内存泄漏问题
摘要:使用NSTimer的时候可能存储内存泄漏问题,例如:当控制器销毁时,会发现dealloc没有被调用,问题的原因在于timer对控制器对象有强引用,即使是使用了weakSelf 如需解决这个问题,就得解决问题的原因timer对target对象的强引用,方式可以修改timer的引用为间接对象target 阅读全文
posted @ 2017-08-08 19:02 HJiang 阅读(230) 评论(0) 推荐(0)
CocoaPods安装,iOS程序第三方框架的依赖管理
摘要:每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods。 CocoaPods 的安装和使用介绍 安装 如果你的 gem 太老,可能也 阅读全文
posted @ 2017-07-24 12:24 HJiang 阅读(453) 评论(0) 推荐(0)
监听键盘frame变化
摘要:/** * 监听键盘的弹出和隐藏 */ - (void)keyboardWillChangeFrame:(NSNotification *)note { // 键盘最终的frame CGRect keyboardF = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue]; // 动画时间 ... 阅读全文
posted @ 2017-05-30 23:25 HJiang 阅读(551) 评论(0) 推荐(0)
iOS开发】canOpenURLl 和修改http请求
摘要:控制台输出 如图是在我启动一个 Xcode 7 + iOS 9 的 App 之后,控制台的输出。 这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是【为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection 、 CFURL 、 NSURLSession发出的 HTTP 请求,都改为 HTTPS 请求:iOS9.x-SDK编译时,默认会让所有从NS... 阅读全文
posted @ 2016-03-25 08:54 HJiang 阅读(1492) 评论(0) 推荐(0)
JsonString,字典,模型之间相互转换
摘要:NSData转字符串[NSString alloc] initWithData: encoding:]模型转字典attInfo.keyValues字典转模型ZTEOutputInfo *outputInfo = [ZTEOutputInfo objectWithKeyValues:responseO... 阅读全文
posted @ 2015-12-28 18:53 HJiang 阅读(1179) 评论(0) 推荐(0)
oc 单例
摘要:单例模式://static id _instace;////+ (id)allocWithZone:(struct _NSZone *)zone//{// static dispatch_once_t onceToken;// dispatch_once(&onceToken, ^{//... 阅读全文
posted @ 2015-12-28 14:49 HJiang 阅读(279) 评论(0) 推荐(0)
NSPredicate谓词
摘要:NSPredicate——谓词(is)作用:判断条件表达式的求值返回真或假的过程使用步骤:1. 定义NSPredicate对象并指定条件2. 调用谓词的evaluateWithObject方法判断指定条件是否满足示例:NSPredicate *predicate = [NSPredicate pre... 阅读全文
posted @ 2015-02-08 21:21 HJiang 阅读(345) 评论(0) 推荐(0)
NSArray常用方法、排序及乱序
摘要:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; // 数组的排序 //... 阅读全文
posted @ 2015-02-07 23:27 HJiang 阅读(656) 评论(0) 推荐(0)
深复制与浅复制
摘要:深复制与浅复制 需要遵守NSCopying, NSMutableCopying 2个协议什么是copyCopy的字面意思是“复制”、“拷贝”,是一个产生副本的过程常见的复制有:文件复制作用:利用一个源文件产生一个副本文件特点:修改源文件的内容,不会影响副本文件修改副本文件的内容,不会影响源文件O... 阅读全文
posted @ 2015-01-01 15:21 HJiang 阅读(242) 评论(0) 推荐(0)