文档章节

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

Marginx
 Marginx
发布于 2015/10/15 23:57
字数 633
阅读 44
收藏 1
点赞 0
评论 0
  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
深圳
Objective-C中的一些细枝末节(更新)

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

Marginx
2015/10/14
62
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
6
0
Swift项目兼容Objective-C问题汇总

本文是投稿文章,作者:一叶(博客) 欢迎将原创文章或者译文投给我们,投稿方式:support@cocoachina.com或者在首页点击“投稿爆料” 一、解决问题 Swift项目需要使用封装好的Objective-c组...

TomatosX
2015/06/12
0
0
[Code Smells]Objective-C中的代码异味(Code Smells)

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

JustBen
2013/09/05
0
0
iOS 学习资料整理

视频教程(英文) Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频 iPad and iPhone Applic...

拉偶有所依
2015/01/19
2K
4
关于iOS多线程

关于iOS多线程 原文地址:http://www.jianshu.com/p/0b0d9b1f1f19 在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实...

法斗斗
2016/03/10
15
0
iOS js与objective-c的交互(转)

在写 JavaScript 的时候,可以使用一个叫做 window 的对象,像是我们想要从现在的网页跳到另外一个网页的时候,就会去修改 window.location.href 的位置;在我们的 Objective-C 程序码中,如...

北方人在上海
2016/04/21
92
0
Objective-C - Foundation框架初探

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

开发小菜鸟一枚
2013/11/06
0
0
在同个工程中使用 Swift 和 Objective-C(Swift 2.0更新)

本节包含内容: Mix and Match 概述(Mix and Match Overview) 在同个应用的 target 中导入(Importing Code from Within the Same App Target) 在同个 Framework 的 target 中导入(Impor...

法斗斗
2016/03/01
3
0
编程语言11月榜单: C接近Java

TIOBE11月编程语言排行榜公布。 TIOBE11月榜单:C接近Java Objective-C逼近前十 C无限接近Java。C语言只有1%的差距落后于Java,而上次二者份额最靠近的时候是在2005年。二者均呈现长期下降的趋...

老枪
2009/11/11
3.2K
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nested enum types are implicitly static

.Nested enum types are implicitly static So there's no need to declare them static explicitly....

Yixin_Nemo
9分钟前
0
0
xlsxwriter 常用excel格式

官方文档:xlsxwriter 官方文档 微博只对常用的方法做了总结和coding,详细方法请参考官方文档 常规写入数据: 写入字符串write_string() import xlsxwriterworkbook = xlsxwriter.Workb...

白木日勿
9分钟前
0
0
TeX

Ito LaTeX是一类用于编辑和排版的软件,用于生成PDF文档。 LaTeX编辑和排版的核心思想在于,通过\section和\paragraph等语句,规定了每一句话在文章中所从属的层次,从而极大方便了对各个层次...

E-C-Ares
12分钟前
0
0
nodejs调用webservice接口

刚接触花了一天时间去查找资料,网上资料也是够了,很多都试了不行,最后看了还是那么简单 主要是了node-soap node-soap-ntlm soap-ntlm-2,这几个试了都有缺陷, 1 首先安装soap npm instal...

lovelan1314
12分钟前
0
0
SUSE Linux 将被 EQT 收购

SUSE再次易主 Micro Focus 宣布将其一大部分业务出售给瑞典私人股本集团殷拓(EQT),所得的一部分收益将用来减轻债务,其余部分将返给股东。EQT 是一家专注于开发领域的投资公司,在软件行业拥...

linux-tao
20分钟前
0
0
Elastic-Job定时任务

用Elastic-Job可解决分布式重复执行问题 如果业务工程采用集群化的部署,可能会多次重复执行定时任务而导致系统的业务逻辑错误,并产生系统故障。 job.properties simple.id=recommendJobs...

lsjlgo
22分钟前
1
0
Markdown文件导出为pdf

1. 安装VSCode插件 打开VSCode,按F1 输入ext install,选择安装扩展 搜素markdown pdf,安装插件 2. 编辑.md文件 后缀名为.md ### 1. 表格---| 1 | 2 | 3 || --- | --- | --- || a | b...

影狼
22分钟前
0
0
redis加入到Windows 服务

redis加入到Windows 服务 安装命令: redis-server.exe --service-install redis.windows.conf --loglevel verbose 卸载命令: redis-server --service-uninstall...

轩辕剑
26分钟前
0
0
springboot--如何优雅的使用mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和myb...

迷你芊宝宝
27分钟前
0
0
JEESZ 分布式框架开发环境部署

1. 环境准备 1. 开发工具: Eclipse IDE(建议使用高一点的版本) 2. JDK 版本:JDK1.7 3. 项目管理: Maven3.1.1 2. 安装步骤 1. 安装 jdk1.7 并配置环境变量(相信大家都会做,这里不再做重...

明理萝
28分钟前
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部