文档章节

Objective-C中的一些细枝末节01(更新)

Marginx
 Marginx
发布于 2015/10/15 23:57
字数 633
阅读 44
收藏 1
  1. 能给CGRect发消息么? 答案是不能,只能给Objective-C对象发消息,CGRect是结构体,所以不行!明确几个概念

    receiver(消息接收方):指针,指向执行方法的对象

    selector(选择器)      :需要执行方法的方法名

    arguments(实参)     :以变量形式传给方法的数值

    [self.view setBackgroundColor:RED ];

  2. point和pixels的概念:我们开发中所用到的数值的宽高单位是点,点的大小与设备分辨率相关,取决于屏幕以多少个像素显示一个点。Retina屏幕(这里以4s为例)一个点是两个像素高,两个像素宽。非Retina一个点是一个像素宽,一个像素高。

    【用iPhone4S和iPhone3gs对比,红色表示4s,蓝色表示3gs】

    屏幕尺寸         : 3.5英寸    3.5英寸

    分辨率           :640*960     320*480    是指显示器所能显示的像素有多少)

    像素密度        :326ppi       163ppi   (每英寸像素点的个数)

    物理像素点个数:320*480   320*480

    逻辑像素与物理像素换算1pt = 2px    1pt = 1px      

  3. 举一个避免引用循环的例子。每个UIView对象都有一个superView属性,将一个视图作为子视图加入另外一个视图时候,会创建一个相应的反向关联,而这个superview属性是弱应用!

  4. 运行循环 (run loop):iOS应用启东时会开始一个运行循环,运行循环的工作是监听事件,例如触摸,当事件发生时,运行循环会为相应的时间找到合适的处理方法。只有当方法执行完毕时,控制权才会再次回到运行循环。当应用将控制权交回到运行循环时,运行循环首先会检查有没有等待重绘的视图(即在当前循环收到过的setNeedDisplay消息的视图)。

  5. 视图重绘

  6. UIScrollerView对象可以用来管理视图,适用于那些尺寸大于屏幕的视图,这里面有一个重要的属性:contentSize,告诉UIScrollerView“取景”范围。

    contentSize高度设置为屏幕高度,宽度设置为屏幕的一半和二倍,分别会出现什么情况。。。

  7. 视图控制器初始化的两种方法:代码+nib

  8. loadView方法在什么时候调用?(视图控制器需要加载view && view为nil时,默认loadview方法会自动处理NIB文件中包含的视图层次结构)

    这里面包含什么机制?(lazy loading)



© 著作权归作者所有

Marginx
粉丝 4
博文 17
码字总数 19301
作品 0
深圳
私信 提问
iOS 公用方法

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 获取磁盘可用空间大小 [Objective-C] 查看源文件 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 获取指定路径下某个文件的大小 ...

miaoshijun
2016/07/26
10
0
Objective-C中的一些细枝末节(更新)

对象(类的实例对象)。简言之,就是内存中的一块数据,通过实例变量来保存属性的值 对象的使用。创建对象 ------》发送消息---------》释放对象(将指向对象的变量设置为nil) 注意:对象的...

Marginx
2015/10/14
72
0
[Code Smells]Objective-C中的代码异味(Code Smells)

Code Smells(代码异味) in Objective-C Code Smells(代码异味)。在工作中,我一直提及“代码异味”,但是到后来我才发现同事不明白我的意思。代码异味基本上就是说:假如它太臭,就改变它(...

JustBen
2013/09/05
398
0
Objective-C - Foundation框架初探

Objective-C - Foundation框架初探 Foundation之于Objective-C就好比Java中SDK类库之于Java。 这个框架提供了基本的Objective-C的类,最重要的根类,NSObject,它定义了基本的对象行为。 框架...

开发小菜鸟一枚
2013/11/06
67
0
关于iOS多线程,你看我就够了

在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使...

伯恩的遗产
2015/07/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部