240 发简信
IP属地:上海
  • 深入理解 Swift 派发机制(转载)

    这是一篇高质量的文章,加深对swift底层的理解.博客地址:深入理解 Swift 派发机制

  • 120
    Swift Combine

    简介 Combine是Apple在2019年WWDC上推出的一个新框架。该框架提供了一个声明性的Swift API,用于随时间处理值。这些值可以表示多种异步事件。 Publi...

  • Swift一些说明

    1、Type: 类型的类型 术语表述为元类型:metaType元类型用.Type表示元类型的值用.self表示 2、Any: 可以表示任何类型,包括函数类型AnyObjec...

  • @墨苏丶不要选有刘海的模拟器就行了

    iOS 阴影,圆角,避免离屏渲染

    原理网上能搜到很多,本文只讲实践 测试环境: Xcode 10.0 Swift 4.2 iPhone 7模拟器, iOS 12.0 真机 iPhone 6, iOS 10....

  • _ = textField.rx.textInput <-> userVM.username 这句直接报 Fatal error: Unexpectedly found nil while unwrapping an Optional value。如何操作才能绑定成功

    Swift - RxSwift的使用详解27(双向绑定:<->)

    在之前的文章样例中,所有的绑定都是单向的。但有时候我们需要实现双向绑定。比如将控件的某个属性值与 ViewModel 里的某个 Subject 属性进行双向绑定: 这...

  • 为什么设置模拟器的 debug -> color Offscreen-Rendered,界面全是黄色的。模拟机自带的app启动也是全黄?博主知道原因吗

    iOS 阴影,圆角,避免离屏渲染

    原理网上能搜到很多,本文只讲实践 测试环境: Xcode 10.0 Swift 4.2 iPhone 7模拟器, iOS 12.0 真机 iPhone 6, iOS 10....

  • po主理解错了。atomic是绝对安全的。
    我们知道,在64位的操作系统下,所有类型的指针,包括void * 都是占用8个字节的。超过4个字节的基本类型数据都会有线程并发的问题。
    那所有的指针类型都会有这个问题。
    以oc 下的 NSArray * 为例子,如果一个多线程操作这个数据,会有两个层级的并发问题
    1、指针本身
    2、指针所指向的内存

    指针本身也是占用内存的,并且一定是8个字节,第二部分,指针所指向的内存,这个占多少字节就不一定了,有可能非常大,有可能也就1个字节


    所以我们考虑NSArray * array 这个数据array 多线程操作的时候,必须分成两部分来描述,一个是&array这个指针本身,另一个则是它所指向的内存 array
    大家注意下 &array 和 array 的区别 ,其实不用纠结,你就想象现在有两块内存,一块是8字节,一块n字节,8字节里面放的值,就是n字节内存的首地址,

    ok 现在联系上atomic,如果用@property(atomic)NSArray *array 修饰之后,会有什么影响?网上说的很多,不再赘述,我只想从内存的角度来解释这个过程

    首先第一点,你要记住,@property(atomic)NSArray *array 其实修饰的是这个指针,也就是这个8字节内存,跟第二部分数据n字节没有任何关系,被atomic 修饰之后,你不可能随意去多线程操作这个8字节,但是对8字节里面所指向的n字节没有任何限制!这就是所有网络上所说的 atomic 不安全的真相 !!!

    我们来看一下,这能怪atomic? 本身你修饰的是一个指针,并且atomic 已经完美的履行了它的指责,你现在不可能对这个8字节进行无序的多线程操作,这就够了呀!atomic没有任何鸟问题。有问题的是人,你本身并未对n字节做任何的限制,所以把问题怪罪到atomic 上真的是很不合理

  • @yqc5521 队列中的元素如果和下一个元素的间隔小于了指定的时间间隔,那么这个元素将被过滤掉。第一个和第二个时间相差1,大于时间间隔0.5,不过滤第一个。第二个和第三个时间相差0.1,小于时间间隔0.5,过滤第二个。以此类推

    Swift - RxSwift的使用详解9(过滤操作符:filter、take、skip等)

    九、过滤操作符(Filtering Observables) 过滤操作指的是从源 Observable 中选择特定的数据发送。 1,filter (1)基本介绍 该操作符就是...

  • 120
    iOS 阴影,圆角,避免离屏渲染

    原理网上能搜到很多,本文只讲实践 测试环境: Xcode 10.0 Swift 4.2 iPhone 7模拟器, iOS 12.0 真机 iPhone 6, iOS 10....

  • iOS消息推送

    一、关于推送 1、本地推送 只要用户允许了推送通知,并且通知提醒类型不为空,就可以进行本地推送。 2、远程推送 首先需要用户允许了推送通知,并且通知提醒类型不为空;其次需要注...

  • 这个没试过。写的时候很多是根据文档翻译过来的

    网络请求之NSURLSession(api篇)

    一、NSURLSession介绍 NSURLSession是协调一组网络数据传输任务的对象。(线程安全) NSURLSession类和相关类提供了用于下载内容的API。这些A...

  • 这篇文章写的好久了,我也有点忘了。你按步骤一步步来的吗

    Mac php安装freetype

    在使用GD库的时候,有个函数不能识别 百度后发现缺少freetype这个扩展。 下面这句话是抄来的😝 推荐一个网站:http://php-osx.liip.ch/,这个网站一...

  • @李心 去问后台,应该知道

    使用WKWebView的一些注意事项

    最近在项目里使用WKWebView碰到的一些问题,在这里跟大家分享下经验。 1、修改userAgent 2、禁止长按出现菜单 3、禁止放大缩小 4、webview加载h5打开...

  • 120
    Github-README 中展示demo

    2017年更新,现在github再master分支直接就可以操作,所以我改了这篇文章 问题所在? 解决办法? 博主建议? 一:问题的所在 相信很多小胖友们在把自己的网页上传到...