本文分两部分,第一部分是介绍常用的属性包装器,第二步部分是自定义属性包装器 + 动态属性分析 一、SwiftUI常用的属性包装器: @AppStorage: 全局生效(除Ap...
本文分两部分,第一部分是介绍常用的属性包装器,第二步部分是自定义属性包装器 + 动态属性分析 一、SwiftUI常用的属性包装器: @AppStorage: 全局生效(除Ap...
@小了白了小兔兔 我也一样,MSHookFunction没有效果,captionhook有效
免越狱iOS插件注入由deb文件得到dylib库后,将dylib库注入到二进制文件中,重新打包完成动态库附带的功能。 1. 获得dylib文件 使用theos建立tweak工程后,hook住要改...
由deb文件得到dylib库后,将dylib库注入到二进制文件中,重新打包完成动态库附带的功能。 1. 获得dylib文件 使用theos建立tweak工程后,hook住要改...
线程的调用就会有函数的调用,就会把调用地址压入栈中,所以就可以从栈中获取调用地址。 通过[NSThread callStackReturnAddresses],可以获取线程的...
WKWebView不支持NSURLProtocol 前段时间总结过《WKWebView从入门到趟坑》,其中提到 NSURLProtocol 拦截支持和缓存的痛点。在 UIWe...
加@objc就可以了
@objc extension UIImageView {
func setLocalFaceImageAndFrame(aImage: UIImage, aFrame: CGRect) {
let layer = self.imageLayer()
layer.contents = aImage.cgImage
layer.frame = aFrame
}
}
swift的指针介绍,指针的常用函数和使用OC指针 在OC中的对象Object我们都是用的指针,像下面这些: 很显然在OC中我们使用*来表示对象,其实是声明指针,而且使用&符号来取地址,比如我们在使用C的数组时,可以...
OC指针 在OC中的对象Object我们都是用的指针,像下面这些: 很显然在OC中我们使用*来表示对象,其实是声明指针,而且使用&符号来取地址,比如我们在使用C的数组时,可以...
Array的介绍:When the destination array's element type is a nonclass type that bridges to a...
时间复杂度是一样的,但是系统方法比题主的要快
Swift 算法实战之路:数组,字符串,集合,与字典上次讲解了基本的语法和一些Swift的小技巧。这期我们来看几个最基本的数据结构:数组,字符串,集合和字典。 数组 数组是最基本的数据结构。Swift中改变了以前Objecti...
一、关于图片的两种格式,PNG和JPEG 图片文件被加载后必须要进行解码,解码过程是一个相当复杂的任务,需要消耗非常长的时间。解码后的图片将同样使用相当大的内存。 用于加载的...
@abs_ 结构体里包含了block实现的函数指针
关于block(二)----为什么使用copy,为什么使用__block不知道大家使用block的时候有没有想过: 为什么block赋值需要用copy? 对于全局block来说,就和全局常量一样,copy就是引用,且没有引用计数的增减,在app结...
离开的时候我觉得其实这样的生活还不错,虽然我想要的是旅行四海为家的生活,就像这句话—不知世界之大,欲望海纳百川,然而今天这种感觉我知道的,大部分源于我昨晚睡的很好,井然有序的...
实例变量(instance variable):由类定义的成员变量,OC中一般声明在{ }内。 属性(property):编译器自动将变量的set和get方法的合成,代码中使...
不知道大家使用block的时候有没有想过: 为什么block赋值需要用copy? 对于全局block来说,就和全局常量一样,copy就是引用,且没有引用计数的增减,在app结...
在iOS或者其他系统中,程序运行中的存储根据功能分类,基本都有这几个分类: 栈区:用于存放临时内容,一般为局部变量,多为变量指针。 堆区:存放可能需要保存时间长些的内容,这里...
上面这段代码输出为: 我们知道oc存储主要分成数据区、堆区和栈区, __NSCFConstantString显然是常量字符串,地址0x10c843820自然就是存储在数据区。...
block 其实就是一个结构体+函数指针,其赋值就是传递block对象(结构体); 下面代码我们将其转为c的源码,clang我用的是这段命令:clang -x objecti...
block本身是像对象一样可以retain,和release,但是栈block和全局block这些操作都无效,只有堆block操作有效,虽然retainCount始终是1但是...