240 发简信
IP属地:北京
  • 120
    frame和bounds的区别

    在iOS中我们会经常遇到frame和bounds,这两个概念很相似,但是也有区别。frame还好理解,但是bounds就比较容易迷惑人。我们通过实例来讲解下bounds的概念...

  • 话没写错,它上方例子内的内存地址写一样了,应该内存地址不一样的

    iOS copy和mutableCopy 整理

    copy 和 mutableCopy 你真的理解吗?最近发现很多面试者基本都不能很好地回答这个问题。所以整理一下。 copy和mutableCopy的概念: copy 浅拷贝...

  • 补充几点:
    1、Flutter替代native趋势不大,毕竟需要与平台硬件对接,这样需要同时会native和Flutter语言和组件使用,不如专心把native学精;
    2、Flutter性能并没有文中表述的那么好,这主要依赖于他的引擎,引擎再强也干不过原生的;
    3、Flutter比React-native性能上有很大提升,毕竟一个是直驱,一个桥接,但是不支持热更新,本质上就是ios和Android语言整合的低配版。
    综上,存在的即是合理的。Flutter有他的优势也有劣势,不然他不会出现或者直接搞掉native,但是看现在的情形,Flutter优势还是不够明显的,毕竟三方库不多,还有推广方面的原因吧,希望开发者正确看待每一项技术。

  • 120
    iOS分类不能添加属性原因的探索

    最近跟人交流时,提到一个问题,说iOS分类中不能添加属性。这里探讨一下不能添加的原因和添加的方法。首先,创建一个person类,代码如下: XGPerson.h XGPers...

  • iOS11适配tabview

    if (@available(iOS 11.0, *)) { self.discoveryHealthTableView.contentInsetAdjustmentBeha...

  • 自定义tabview删除按钮

    - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)r...

  • copy assign retain 修饰属性的set 方法

    @property (nonatomic,retain) NSString * name; - (void)setName:(NSString*)name { if(_nam...

  • 要看的

    https://blog.csdn.net/wangweijjj/article/details/51888750 KVC的底层实现? ViewController生命周期 ...

  • 多线程死锁

    异步执行block肯定不会发生死锁 事实上,导致死锁的原因一定是: 在某一个串行队列中,同步的向这个队列添加block。 同步的向串行队列中添加 另外,因为队列是可以嵌套的,...

  • ios-结构体和类的区别

    1、结构体只能封装属性,类却不仅可以封装属性也可以封装方法。如果一个封装的数据有属性也有行为,就只能用类了。 2、结构体变量分配在栈,而OC对象分配在堆,栈的空间相对于堆来说...