摘要: 解决方法就是在AppDelegate.h中按照以前的方法添加一个UIWindow *window的属性即可,因为iOS13以下根本没有UIScene这一层 在AppDelegate.h中少了@property (strong, nonatomic) UIWindow * window; 阅读全文
posted @ 2020-04-30 16:48 weizonglei 阅读(1131) 评论(0) 推荐(0) 编辑
摘要: 微信逆向时,想要使用runtime的方法交换去HOOK微信的登陆方法onNext,发现由于找不到方法而崩溃 解决方法如下: 1.添加方法 2.方法替换(class_replaceMethod) 使用方法替换的方式去解决的话有一个问题,就是如果想要HOOK的原来的类里面没有这个onNext方法的话,r 阅读全文
posted @ 2020-04-30 16:08 weizonglei 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 1、UIView 的 animation动画块使用了Block,内部使用self不会循环引用,为什么呢 答:UIView 动画块是类方法,不被self持有,所以不会循环引用。 2、Monsary也使用了Block来设置控件的布局,Block内部使用self,为什么不会循环引用呢 答:看源码可以看出, 阅读全文
posted @ 2020-04-28 11:33 weizonglei 阅读(312) 评论(0) 推荐(1) 编辑
摘要: xcode 11.3bata新建的工程,即使适配了http(即在xcode工程info中添加下图代码),在webview中加载http的链接依然无法打开。 而同样的代码同样的info配置,在xcode10.3新建的工程中可以顺利的加载出来,即使使用Xcode11.3bata去打开Xcode10.3创 阅读全文
posted @ 2020-01-08 15:46 weizonglei 阅读(350) 评论(0) 推荐(0) 编辑
摘要: iOS状态栏Status的隐藏,有两种状态,一种是隐藏整个应用的状态栏,一种是隐藏局部的状态栏。 一、隐藏全部状态栏 方法一:通过info.plist控制 隐藏启动页/欢迎页(LunchScreen)的状态栏 在info.plist中添加Status bar is initially hidden, 阅读全文
posted @ 2019-12-26 10:38 weizonglei 阅读(2677) 评论(0) 推荐(0) 编辑
摘要: 一般我们向cell中添加子视图,有两种方式 1、[cell addSubview:] 2、[cell.contentView addSubview:] 区别在于进行cell编辑时,比如cell内容向左移或者右移时,第一种方式子视图不会移动,第二可以,所以这种情况一般使用第二种方式。 还有在设置bac 阅读全文
posted @ 2019-06-04 14:35 weizonglei 阅读(1328) 评论(0) 推荐(0) 编辑
摘要: 堆栈: 按管理方式分 对于栈来讲,是由系统编译器自动管理,不需要程序员手动管理 对于堆来讲,释放工作由程序员手动管理,不及时回收容易产生内存泄露 按分配方式分 堆是动态分配和回收内存的,没有静态分配的堆 栈有两种分配方式:静态分配和动态分配 静态分配是系统编译器完成的,比如局部变量的分配 动态分配是 阅读全文
posted @ 2019-03-08 16:16 weizonglei 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 总的来说,工厂方法是抽象工厂的组成部分,各种具体工厂类重载抽象工厂类中的方法,并用这些工厂方法创建具体产品。工厂方法的精髓在于: 一个类无法预期要生成那个类的对象,需要其子类来指定要生成的对象。 以下情形会让你自然而然的想到使用工厂方法: 工厂方法可以让创建出来的产品有一组共同的行为,而且客户端无需 阅读全文
posted @ 2019-03-08 11:54 weizonglei 阅读(122) 评论(0) 推荐(0) 编辑
摘要: NSNotification、KVO、Delegate在哪个线程中触发,就在哪个线程中响应,而且都是同步的,会阻塞当前线程,直到处理完成。 在开发中使用NSNotification、KVO、Delegate的时候,要注意避免阻塞主线程,如果方法中存在耗时操作,建议在方法中先异步的操作,最后如果要更新 阅读全文
posted @ 2019-03-07 11:45 weizonglei 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 1、打开控制台:ssh-keygen -t rsa -C "GIT上的账号邮箱" 2、回车 3、输入密码(git上的账号密码) 4、确认密码 5、输入命令 cd .ssh 6、输入命令 cat id_rsa.pub 7、复制出现的代码,打开gitlab,找到SSH KEY管理菜单,在对应输入框里输入 阅读全文
posted @ 2018-12-06 16:00 weizonglei 阅读(157) 评论(0) 推荐(0) 编辑