
iOS
文章平均质量分 79
iteye_16695
这个作者很懒,什么都没留下…
展开
-
Objective-C中常量的定义和retainCount管理
在objective-c中,一个应用中,定义不同名称的变量时,如果值是一样的,则会使用同一个内存空间。这点对于NSString类型适用,对于UIImage类型也适用。但,这里内存管理怎么搞?retain count有如何定义?还是说这是常量,没有retain count一说。像nsstring的retaincount值就是fffffffff,最大的无符号整数。NSString...2012-07-06 11:46:30 · 245 阅读 · 0 评论 -
外企iOS开发的笔试题
一组外企iOS开发的笔试题,您能回答出来吗?从群里收集来的。(miki西游@mikixiyou的文档,原文链接: http://mikixiyou.iteye.com/blog/1546376 转载请注明出处和作者)1 why can't NSArray contain NSInteger Instance? with which extra step can you do it?...2012-06-01 11:18:24 · 160 阅读 · 0 评论 -
分享2011年斯坦福大学公开课iOS开发
美国斯坦福大学2009年、2010年、2011年连续三年出品了iphone开发的公开课。其中2011年的课程是针对iOS5的开发。2011年的教学视频,在优库中的链接如下, 2011年冬季最新斯坦福大学公开课:iOS程序开发教程http://www.youku.com/playlist_show/id_16853809.html该教程是基于iOS...原创 2012-06-05 09:12:22 · 129 阅读 · 0 评论 -
如何格式化XCode4.2中obj-c代码
在XCode4开发工具中,自己写的代码,在它们杂乱无章的时候,如何快速格式化,或者说美化它们呢?对于初学者而言,这也是一个问题,没意见的吧。至少曾经对于我来说,是个问题。 (miki西游 @mikixiyou 文档,原文链接: http://mikixiyou.iteye.com/blog/1558555) 传统的美化或者说格式化方法:在菜单中,editor 主菜单,再...2012-06-11 17:24:06 · 101 阅读 · 0 评论 -
objective-c的对象定义
在objective-c中定义两个类,用于测试对象的定义操作。首先定义两个类Vehicle和Ship。@interface Vehicle- (void)move;@end@interface Ship : Vehicle- (void)shoot;@end 对象定义操作的方法会有很多,下面罗列一些典型的操作方法。如下所示:Ship *s = [[Ship ...原创 2012-10-16 14:39:18 · 159 阅读 · 0 评论 -
NSString对象的初始化和比较
NSSting的对象在使用@"xx"直接初始化赋值时,它会在内存"stack segment"中分配一个空间,用于保存该变量。相同赋值的对象,会采用相同的内存空间,表现为内存地址相同。可以理解为NSString的isa的值是一样的。 NSString *str2=@"e中国2"; NSString *str3=@"e中国2"; // %p for p...2012-10-17 13:31:53 · 185 阅读 · 0 评论 -
objective-c数组使用小结
使用数组对象创建的数组功能非常强大,在Java语言或者C语言中定义的数组必须满足数组中的每一个元素必须是同样的类型。而Objective-C语言可以在Array数组中放任意类型的objective-c的对象。有两点值得注意,一是只能放指向这个对象的指针,而不能直接放int ,char,double 等等;二是不能放nil。使用NSArray关键字创建一个不可变的数组,一旦初始化完毕...2012-10-17 15:40:05 · 181 阅读 · 0 评论 -
UIApplicationDelegate分析小结
我们开发出来的运行在iOS平台上的应用程序都有一个UIApplication类的对象。1、是iOS应用程序的起始点,并负责初始化和显示UIWindow;2、负责加载应用程序的第一个UIView到UIWindow中;3、帮助管理应用程序的生命周期;4、接收事件,再转给它的委托"UIApplicationDelegate"来处理;此委托可处理的事件包括:应用程序的生命周...原创 2012-12-06 14:52:36 · 224 阅读 · 0 评论 -
Objective-C的内省(Introspection)小结
内省(Introspection)是面向对象语言和环境的一个强大特性,Objective-C和Cocoa在这个方面尤其的丰富。内省是对象揭示自己作为一个运行时对象的详细信息的一种能力。这些详细信息包括对象在继承树上的位置,对象是否遵循特定的协议,以及是否可以响应特定的消息。NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别。明智地使用内省可以使面向对...2012-12-07 17:02:30 · 262 阅读 · 0 评论 -
segue分析小结
在iOS开发中,segue用来实现storyboard中源视图控制器和目标视图控制器连接,当segue被触发时,系统将完成下列操作:1、实例化目标视图控制器2、实例化一个新segue对象,该对象持有所有的信息3、调用源视图控制器的prepareForSegue:sender:方法,4、调用segue的 perform 方法将目标控制器带到屏幕上。这个动作行为依赖se...原创 2012-12-12 10:15:42 · 315 阅读 · 0 评论 -
视图控制器学习笔记之一
1、视图控制器的角色视图控制器是应用数据和它的外观的重要连接,相当于MVC模式中的Controller的地位,它可以称之为应用的骨架。 2、视图控制器的作用 每一个视图控制器组织和控制一个视图,此视图通常是一个视图层次结构的根视图。视图控制器是MVC模式中的控制器对象,但它也有iOS希望它执行的特殊任务。3...原创 2012-06-20 11:14:49 · 161 阅读 · 0 评论 -
通过segue切换视图控制器
在使用storyboard开发iOS应用时,从一个视图控制器的视图中点击一个按钮跳转到另外一个视图控制器的视图的操作开始使用segue实现。storyboard较之以前的nib最大的优点就是很直观地、图形化地展示各个视图控制器之间的关系。这个关系就是通过segue来实现。通过segue,可以将一个视图控制器的数据传输到跳转到的另一个视图控制器上,再通过delegate是释放这个视图控制器并...原创 2012-12-21 11:43:13 · 369 阅读 · 0 评论 -
关闭ios虚拟键盘的几种方法
在iOS应用开发中,有三类视图对象会打开虚拟键盘,进行输入操作,但如何关闭虚拟键盘,却没有提供自动化的方法。这个需要我们自己去实现。这三类视图对象分别是UITextField,UITextView和UISearchBar。这里介绍一下UITextField中关闭虚拟键盘的几种方法。 (miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.co...原创 2012-12-26 11:17:23 · 469 阅读 · 0 评论 -
char,short ,int ,long,long long,unsigned long long数据范围
编程语言的基础类型速查表char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 Bytes)int -2147483648 ~ +2147483647 (4 Bytes)unsigned int 0 ~ 4294967295 (4 Bytes)long ==...原创 2012-12-26 14:02:34 · 637 阅读 · 0 评论 -
iOS学习笔记之用Storyboard和Interface Builder开发的iPhone应用比较
最初学习iPhone应用程序开放时,下载到Xcode的版本是4.2,支持iOS的版本是5.0了。这个开发工具和以前版本的有个大不同,就是它使用storyboard editor,以前都是使用Interface Builder。(墙内链接: http://mikixiyou.iteye.com/blog/1522094)市面上出版的书中,基本都是基...2012-05-10 14:43:23 · 196 阅读 · 0 评论 -
iOS学习笔记之MVC架构
MVC将屏幕对象的外观和行为分开。屏幕按钮没有任何内在含义,只是用户可以操作的按钮。按钮称为视图,它的控制器充当桥梁,将用户交互与应用程序中的目标方法联系在一起。应用程序展现和保存有意义的数据,并通过生成某种有用的结果来响应按钮操作等交互。(墙内链接: http://mikixiyou.iteye.com/blog/1517542)视图视图组件是由UIV...2012-05-08 16:42:09 · 93 阅读 · 0 评论 -
iOS开发(stanford2011)笔记第一课MVC架构
斯坦福大学(stanford university)的iphone开发课由来已久。最近学习了2011年秋季的iphone开发教程。该课程是基于iOS5的,最新的教程。这些课程讲的知识点很全面,也讲的很快。于是我做了些笔记,权当督促自己。 在第一课中,介绍了iOS的四层结构,和MVC架构。MVC架构在iOS开发中非常普遍的应用架构,其中使用到的target-action和...2012-07-12 16:09:19 · 118 阅读 · 0 评论 -
iOS开发(stanford2011)笔记第二课Objective-C关键知识点
在第二课中,介绍了Objective-C的一些关键知识点,包括点访问方法,strong和weak的比较,nil,实例化,动态绑定技术(程序在执行时才会知道要执行的代码有没有),自省(选择器的使用),基础的框架如NSObject,NSString等等。这些是开发的基础,整理了一遍有利于程序的开发和调整。像类方法只能使用类来调用,实例方法只能使用实例,这点以前还没有明白...原创 2012-07-13 14:35:42 · 80 阅读 · 0 评论 -
iOS中引用计数内存管理机制分析
在iOS中引用计数是内存的管理方式,虽然在iOS5版本中,已经支持了自动引用计数管理模式,但理解它的运行方式有助于我们了解程序的运行原理,有助于debug程序。 操作系统的内存管理分成堆和栈。 在堆中分配的内存,都试用引用计数模式;在栈中则不是。 NSString定...2012-07-14 11:33:34 · 163 阅读 · 0 评论 -
iOS中的堆(heap)和栈(stack)的理解
操作系统iOS中应用程序使用的计算机内存不是统一分配空间,运行代码使用的空间在三个不同的内存区域,分成三个段:“text segment“,“stack segment”,“heap segment”。段“text segment”是应用程序运行时应用程序代码存在的内存段。每一个指令,每一个单个函数、过程、方法和执行代码都存在这个内存段中直到应用程序退出。一般情...2012-07-16 14:09:26 · 142 阅读 · 0 评论 -
第一个iPHONE应用
1. 开发工具在本应用中,开发工具为苹果的Xcode4.2。To create the iOS application in this tutorial, youneed Xcode 4.2. Xcode is Apple’s integrated development environment(or IDE) for both...2012-03-01 15:53:04 · 91 阅读 · 0 评论 -
如何保持iOS上键盘出现时输入框不被覆盖
在iOS5上请求显示键盘时,系统从屏幕底部将键盘滑入上来,位于应用的内容之上。(墙内:http://mikixiyou.iteye.com/blog/1488302) 如果屏幕中的内容项目比较多,它就可能覆盖住文本输入框之类的对象。你必须调整你的内容,使得输入框保持可见。你会想到哪些处理方法呢?第一种,临时调整窗口中各个视图的大小,使得键盘从下向上占...原创 2012-04-17 11:27:04 · 181 阅读 · 0 评论 -
storyboard和nib的差别
在使用Storyboard管理的iOS应用中,它的组成部分为AppDelegate和ViewController这两个类以及MainStoryboard.storyboard文件组成。Storyboard编辑器和Interface Builder很像(我觉得,他们其实就是一样的)。Storyboard管理不是一个视图控制器,而是所有的视图控制器。建立在storyboard上的应用程序,在它...原创 2012-04-21 12:15:43 · 284 阅读 · 0 评论 -
如何去掉String的前后空格或某字符
在objective-c中,如何去掉一个string的前后的空格字符或某个特定字符呢?如@“ abc 123 ”字符串前后有空格,该如何去掉?使用nsstring的实例方法stringByTrimmingCharactersInSet:可以解决该问题。方法如下:[@" abc 123 " stringByTrimmingCharactersI...原创 2012-08-07 14:05:09 · 763 阅读 · 0 评论 -
Objective-c中数字型字符串转换NSNumber的三种方法
在MAC OS/iOS开发时,我们会遇到这类情况。如何将输入的符合数字格式的字符串,转换成NSNumber类型的对象。我首先写了这个方法: id result; NSString * ss; ss=@"124"; result=[NSNumber numberWithFloa...原创 2012-08-08 10:20:12 · 549 阅读 · 0 评论 -
NSMutableString转换成NSString的N种方法
NSString是一个不可变的字符串对象。这不是表示这个对象声明的变量的值不可变,而是表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间。而NSMutableString是可变的,意味着你可以追加它的内存空间,或者修改它所分配的内存空间中的值。因为NSMutableString和NSString的差别,所以他们之间的互相转换使用使用合适的方法。将NS...原创 2012-08-14 10:35:30 · 1030 阅读 · 0 评论 -
obj-c中字符串和数字互相转化
在obj-c中,字符串使用NSString定义成一个用于保存字符串的对象变量,而数字则使用原始类型float、int定义成一个变量,这是一个原生态的变量。这两种变量之间在开发时会需要相互转化。下面是常用的转化方法:NSString *tempA = @"123";NSString *tempB = @"456"; (miki西游 @mikixiyou 原文链接: http:...原创 2012-09-12 14:24:16 · 309 阅读 · 0 评论 -
IOS中Retain和Copy的区别
1 ,可读性: readonly 、 readwrite@property(readwrite,....) valueType value;这个属性是变量的默认属性,就是如果你 (readwrite and readonly 都没有使用,那么你的变量就是 readwrite 属性 ) ,通过加入 readwrite 属性你的变量就会有 get 方法,和 set 方法。property(reado...2012-04-26 15:59:01 · 168 阅读 · 0 评论 -
iOS学习笔记之typedef
typedef unsigned long long weiboId; typedef 定义一个使用方便的类型,谓之为“宏定义“。 unsigned long long 是一种无符号的长长整型。本应该是这样,unsigned long long int ,这里省略了int ,编译器会自动认可。 unsigned long long ,是64 位的数据,8 个字节,无符号,取值范围从0 ...原创 2012-05-06 14:47:34 · 140 阅读 · 0 评论 -
在storyboard中view的frame值为0
在XCode4.5中,我使用storyboard创建一个UIScrollView对象,在viewDidLoad:方法中得到它的frame的值都是0,但是我在storyboard中都设置了UIScrollView对象的frame的属性值的。我的目的是使用UIScrollView和UIPageController实现翻页,在viewDidLoad:方法中创建新增的页面,而页面的体积是根据s...原创 2013-01-23 13:42:45 · 373 阅读 · 0 评论