240 发简信
IP属地:浙江
  • @冬林平凡 看你写的东西,比如代庖署理,我感觉不是大陆人表达习惯

    2018-04-162017年5月iOS招人心得(附面试题)

    2017.06.12更新: 要谜底的伴侣比我想象的要多,这些题的谜底我并没有特意花时辰清算好,由于给出谜底并不在我的原方案之内,可是还请列位理解一下我小我的时辰放置。 本文中...

  • 大哥是台湾香港人吗?

    2018-04-162017年5月iOS招人心得(附面试题)

    2017.06.12更新: 要谜底的伴侣比我想象的要多,这些题的谜底我并没有特意花时辰清算好,由于给出谜底并不在我的原方案之内,可是还请列位理解一下我小我的时辰放置。 本文中...

  • 120
    还想再上一次那所普通的大学

    文/可可老师 上大学的时候,我最大的愿望是早点毕业。而如今毕业快四年的我,最大的愿望竟是再上一次大学。这一切的转变,源于毕业后我遇见了简书,遇见了许多有趣的灵魂,自己也在慢慢...

  • 120
    285分的我,怎样通过背诵半本新概念过了六级

    01 很多人有这样的困惑:到了高中以后,英语水平始终徘徊在中低的水平,成绩很难再提高。或者你比较勤奋,紧抓不放,高考的时候英语问题还不太明显。等到了大学,当四六级、考研占据...

  • 看下这个https://github.com/ShareKit/ShareKit/issues/1020
    可以增加一个新的 @#的用法
    #define SHKCONFIG(_CONFIG_KEY) [[SHKConfiguration sharedInstance] configurationValue:@#_CONFIG_KEY withObject:nil]
    目的是将宏参数翻译成字符串常量

    iOS 中常见的宏

    判断系统 描述判断系统 targetEnvironment(simulator) 描述判断是否为模拟器 用法 __has_include 描述此宏传入一个你想引入文件的名称作...

  • 120
    如何创建私有 CocoaPods 仓库

    公共 CocoaPods 打开隐藏目录,可以使用命令: 接着需要重启一下 Finder, 可以按住 option + 右键 Finder 图标选择重启。然后打开隐藏目录 .c...

  • 为什么这么说,没发觉啊

    我的苦逼app开发盈利之路!

    和大多数的个人开发者一样,小弟在开发了多个应用, 并且失败之后(微笑),成功的又开发出一款应用(同时也可能同样失败) 我将应用发布到国内较大的市场上,下载量不错,最好的一天有...

  • UIAppearance与UI_APPEARANCE_SELECTOR

    在iOS 5之后,出现了两个Protocol,分别是UIAppearance 以及UIAppearanceContainer,通过这两个协议,我们可以在开发过程中规范对于UI...

  • 120
    iOS 9新特性、泛型、__kindof的使用

    iOS 9新特性关键字:nonnull、nullable、null_resettable 注意这几个关键字都是用来修饰对象类型的! 一、nonnull 1、作用:表示不能为空...

  • 参加工作四年整,现在混得怎么样了?

    2013年3月12日,尽管已经过去四年了,相当于又一个大学,但是仍然记得很清楚,那天早上特别的开心。因为那天通过了很喜欢的一家公司的实习生岗位面试,意味着可以开启上班的生活了...

  • 根据:
    struct objc_class {
    Class isa OBJC_ISA_AVAILABILITY;

    #if !__OBJC2__
    Class super_class OBJC2_UNAVAILABLE;
    const char *name OBJC2_UNAVAILABLE;
    long version OBJC2_UNAVAILABLE;
    long info OBJC2_UNAVAILABLE;
    long instance_size OBJC2_UNAVAILABLE;
    struct objc_ivar_list *ivars OBJC2_UNAVAILABLE;
    struct objc_method_list **methodLists OBJC2_UNAVAILABLE;
    struct objc_cache *cache OBJC2_UNAVAILABLE;
    struct objc_protocol_list *protocols OBJC2_UNAVAILABLE;
    #endif

    } OBJC2_UNAVAILABLE;
    /* Use `Class` instead of `struct objc_class *` */


    struct objc_class : objc_object {
    // Class ISA;
    Class superclass;
    cache_t cache; // formerly cache pointer and vtable
    class_data_bits_t bits; // class_rw_t * plus custom rr/alloc flags

    ......
    }
    可得出一个类应该是有一个isa指针和一个superclass(不是super_class, super_class不在OC2.0中),你看看你嵌的那张对象类结构图可知,应该是superclass而不是super_class.

    其次本文还缺少一些东西,比如动态创建对象,动态添加属性和方法等。
    runtime的功用主要体现在:
    动态创建类,可以在代码运行的时候创建一个新的类
    动态创建方法和属性,可以在代码运行的时候给类添加方法和属性,
    动态的改变方法的实现 可以通过method swizzling替换原有方法的实现
    动态的改变负责处理消息的对象 通过消息转发机制,可以更改负责处理的对象
    动态的获取类的方法列表和属性列表 runtime具有自省功能,这也是实现json映射model的基础

    Objective-C特性:Runtime

    Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发。下...

  • 缓存框架学习(一 MemoryCache)

    做开发时,合理的利用缓存是非常重要的,一方面可以为用户减少访问流量,另一方面也能加快应用的访问速度, 这部分的缓存学习内容是基于 PINCache的, PINCache项目是...

  • iTunes Store美区每日最佳APP整理

    从今天3月16日开始,我会在这篇文章中持续整理iTuens store美区的app,每个app包含了名字,商店地址,二张截图,包含的功能,点评。ssh-rsa AAAAB3N...

  • 120
    UINavigationBar 使用总结

    UINavigationBar是我们在开发过程中经常要用到的一个控件,下面我会为大家介绍一些常用的用法。 1. 设置导航栏的标题 这个不多说,直接上代码self.naviga...