美文网首页
小知识点二

小知识点二

作者: Andyzhao | 来源:发表于2015-10-12 23:40 被阅读63次

一、利用KVC字典转模型实现原理:遍历字典中的所有key,去模型中查找有没有跟key相似的属性名。

  • 1.遍历出name这个key,去模型中查找有没有setName:方法,找到就直接调用,给模型的成员属性赋值。self.name = dict[@"name"]

  • 2.在去模型中查找有没有name这个属性名,如果找到,直接通过属性赋值 name = dict[@"name"]

  • 3.在去模型中查找有没有_name这个属性名,如果找到,直接通过属性赋值 _name = dict[@"name"]

  • 4.调用setValue:forUndefinedKey:报错。

二 自定义键盘

    // inputView:用来自定义文本框的键盘
    _birthdayField.inputView = datePicker;
    
    // inputAccessoryView自定义键盘tabbar
    _birthdayField.inputAccessoryView = [UIButton buttonWithType:UIButtonTypeContactAdd];

三、程序启动过程

  • main -》 UIApplicationMain -》 通知代理做事情

UIApplicationMain底层实现:

// principalClassName:描述UIApplication的类名字符串
// delegateClassName:描述UIApplication代理的类名字符串

int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);

1.创建UIApplication对象
2.创建UIApplication的代理对象,并且设置为UIApplication的代理.
3.开启一个主运行循环,处理事件
4.加载info.plist文件,判断是否有Main.storyboard,如果有就会去加载。
有Main.storyboard才会执行第5步
5.加载Main.storyboard,
5.1 创建窗口
5.2 加载Main.storyboard,初始化storyboard描述的控制器
5.3 设置窗口的根控制器,并且显示窗口

相关文章

  • android 常用小知识点 tips (二)

    android 常用小知识点 tips (一)android 常用小知识点 tips (二) 持续更新中.... ...

  • 无标题文章

    综和复习本月知识点总结: 一:微信小程序 二:vue复习 三:js复习 四:新知识点 一:微信小程序知识点总结 开...

  • 小知识点(二)

    select、poll、epoll区别:详解三者区别 select,poll,epoll都是IO多路复用的机制。I...

  • 小知识点二

    一、利用KVC字典转模型实现原理:遍历字典中的所有key,去模型中查找有没有跟key相似的属性名。 1.遍历出na...

  • CocosCreator教程(入门篇)

    目录一、项目结构二、资源分类三、资源小知识点四、场景小知识点五、子系统重点六、脚本开发七、发布游戏 系列教程Coc...

  • 小知识点总结(二)

    1、单例OC Siwft1)在Swift里,你可以使用一个简单的static类型的属性来仅仅初始化一次,在多条线程...

  • vue 小知识点二

    const Foo = () => import(/* webpackChunkName: "group-foo"...

  • iOS 小知识点(二)

    1、日常笔记(二) 是转载,来源太广找不到出处了! NSRunLoop 和NSOperationQueue NSR...

  • 微信小程序发送数据和接收数据

    本节知识点 展示小程序get请求和post请求 (一) 小程序get请求 wxml代码 js代码 (二)小程序PO...

  • 微信小程序(七)小程序内嵌和require和拿到app全局变量

    (一) 本节知识点 小程序内嵌JS 代码 小程序require (二) 小程序内嵌JS代码 必须用wxs标签和 m...

网友评论

      本文标题:小知识点二

      本文链接:https://www.haomeiwen.com/subject/phjocttx.html