iOS学习基本常识
转发至:http://blog.sina.com.cn/s/blog_9266da3d010184i0.html
1.
了解main函数, UIApplication是初始化程序的核心,它接受4个参数。 其中argc和argv两个参数来自于main()接受的两个参数;另外两个String型参数分别表示程序的主要类(principal
class)和代理类(delegate class)
2、
plist xml格式文件通常用于储存用户设置
pch 预编译文件头
xib Interface Builder 的图形界面设计文档
StoryBoard是iOS
5的新特征,旨在代替历史悠久的NIB/XIB
3、
AppDelegate.m
妙用 类似于监听接口
应用程序启动后,委托调用applicationDidFinishLaunching方法
应用程序要完全退出, 委托调用applicationWillTerminate方法
4、
viewcontroller
创建viewcontroller时,执行loadview
-> viewDidLoad
内存警告,后台,会执行didReceiveMemoryWarning
->
viewDidUnLoad;如果viewcontroller当前正在显示(前台)只执行didReceiveMemoryWarning
5、
IBOutlet
对编译器而言只是一个标记,额外retain一次,所以需要release.
IBoutlet修饰的字段可以和InterfaceBuilder里相应控件相关联;
IBaction修饰的方法可以和InterfaceBuilder里控件的相应动作相关联。
6、addSubview 是将view加到所有层的最顶层
7、insertSubView可以控制它添加到父视图的哪一层
makeKeyAndVisible作用被使用对象的主窗口显示到屏幕的最前端。
hiddenUIView方法隐藏这个窗口
8、
@protocol MyProtocol
-(void) firstMethod
@end 协议,OC 没有多继承,不过可以通过协议来委托或者叫代理
9、
@property (nonatomic, retain) Engine* engine; 代码生成机制
,生成不同类型的getter/setter函数,接口类使用
@synthesize engine,
合成器,实现类里面使用
10、
initWithFrame 没用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化
视图加载nib文件,从nib中加载对象实例时, 使用 initWithCoder初始化这些实例对象
11、
respondsToSelector该方法询问对象以确定其是否能够响应某个特定的消息
if([car
respondsToSelector @selector(setWheel)] ==
YES])
{
}
12、
viewDidLoad:在视图加载后被调用
viewWillAppear:视图即将可见时调用。默认情况下不执行任何操作
viewDidAppear: 视图已完全过渡到屏幕上时调用
viewWillDisappear:视图被驳回时调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作
viewDidDisappear:视图被驳回后调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作
13、
initWithFrame 没用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化
视图加载nib文件,从nib中加载对象实例时, 使用 initWithCoder初始化这些实例对象
14、
loadNibNamed 动态加载视图
NSArray *nibViews=[[NSBundle mainBundle] loadNibNamed:@"Empty"
owner:self
options:nil];
15、
1)componentsSeparatedByString:截取指定字符串;
2) pathForResource:获取程序运行时目录
3) objectAtIndex:获取当前索引的字符串;
4) rangeOfString:获取指定短字符串在长字符串中的开始,结尾索引值;
5)
stringWithContentsOfFile:按行读取文件
6) componentsSeparatedByString:@"
"];换行分割字符串;
7) NSEnumerator *nse = [lines
objectEnumerator]; 将数组转换为NSEnumerator,可向前读取数据;
nextObject 读取下一行数据
16、
-(BOOL) isKindOfClass:
classObj判断是否是这个类或者这个类的子类的实例
-(BOOL) isMemberOfClass: classObj
判断是否是这个类的实例
17、
创建一个UIImageView对象有五种方法
UIImageView *imageView1 = [[UIImageViewalloc]
init];
UIImageView *imageView2 = [[UIImageViewalloc]
initWithFrame:(CGRect)];
UIImageView *imageView3 = [[UIImageView alloc]
initWithImage:(UIImage *)];
UIImageView *imageView4 = [[UIImageView alloc]
initWithImage:(UIImage *) highlightedImage:(UIImage
*)];
UIImageView *imageView5 = [[UIImageView alloc]
initWithCoder:(NSCoder *)];
常用的是前边三个。
18、
UIScreen可以获取设备屏幕的大小
UIView对象定义了一个屏幕上的一个矩形区域,同时处理该区域的绘制和触屏事件,一个UIView的实例可以包含和管理若干个子UIView
UIWindow对象是所有UIView的根,管理和协调的应用程序
UIViewController对象负责管理所有UIView的层次结构,并响应设备的方向变化
19、
@class 当一个类需要引用另一个类
demo.h @class
Rectangle;
demo.m import Rectangle
20、
UISwitch开关、
UIButton按钮、
UISegmentedControl分段控件、
UISlider滑块、
UITextField文本字段控件、
UIPageControl分页控件
21、
UIControlEventTouchDown
单点触摸按下事件:用户点触屏幕,或者又有新手指落下的时候。
UIControlEventTouchDownRepeat
多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。
UIControlEventTouchDragInside
当一次触摸在控件窗口内拖动时。
UIControlEventTouchDragOutside
当一次触摸在控件窗口之外拖动时。
UIControlEventTouchDragEnter
当一次触摸从控件窗口之外拖动到内部时。
UIControlEventTouchDragExit
当一次触摸从控件窗口内部拖动到外部时。
UIControlEventToucUpInside
所有在控件之内触摸抬起事件。
UIControlEventTouchUpOutside
所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。
UIControlEventTouchCancel
所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话da'duaUIControlEventTouchChanged
当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。
UIControlEventEditingDidBegin
当文本控件中开始编辑时发送通知。
UIControlEventEditingDidEnd
当文本控件中编辑结束时发送通知。
UIControlEventEditingChanged
当文本控件中的文本被改变时发送通知。
UIControlEventEditingDidOnExit
当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。
UIControlEventAlltouchEvents
通知所有触摸事件。
UIControlEventAllEditingEvents
通知所有关于文本编辑的事件
UIControlEventAllEvents
通知所有事件。
22、
SUserDefaults用于存储数据量小的数据,例如用户配置。并不是所有的东西都能往里放的,只支持:NSString,NSNumber,
NSDate, NSArray, NSDictionary.
23、
NSUserDefaults *userDefaults = [NSUserDefaults
standardUserDefaults];
[defaults objectForKey:key]; 提取
[defaults setObject:item forKey:key]; 设置
[defaults removeObjectForKey:key]; 移除
24、
resignFirstResponder 触发键盘隐藏
25、
UITabBarController通常作为整个程序的rootViewController
,常见的创建地方就是在application delegate中的
applicationDidFinishLaunching:方法
iOS学习基本常识的更多相关文章
- iOS学习-压缩图片(改变图片的宽高)
压缩图片,图片的大小与我们期望的宽高不一致时,我们可以将其处理为我们想要的宽高. 传入想要修改的图片,以及新的尺寸 -(UIImage*)imageWithImage:(UIImage*)image ...
- 【原】iOS学习之事件处理的原理
在iOS学习23之事件处理中,小编详细的介绍了事件处理,在这里小编叙述一下它的相关原理 1.UITouch对象 在触摸事件的处理方法中都会有一个存放着UITouch对象的集合,这个参数有什么用呢? ( ...
- iOS学习笔记——AutoLayout的约束
iOS学习笔记——AutoLayout约束 之前在开发iOS app时一直以为苹果的布局是绝对布局,在IB中拖拉控件运行或者直接使用代码去调整控件都会发上一些不尽人意的结果,后来发现iOS在引入了Au ...
- 【原】iOS学习47之第三方-FMDB
将 CocoaPods 安装后,按照 CocoaPods 的使用说明就可以将 FMDB 第三方集成到工程中,具体请看博客iOS学习46之第三方CocoaPods的安装和使用(通用方法) 1. FMDB ...
- iOS学习路线图
一.iOS学习路线图 二.iOS学习路线图--视频篇 阶 段 学完后目标 知识点 配套学习资源(笔记+源码+PPT) 密码 基础阶段 学习周期:24天 学习后目标: ...
- 黑苹果-IOS学习的开始
深知安装黑苹果的不易,在这里写一下关于我的Thinkpad E430c安装黑苹果教程(Mac版本:Yosemite 10.10.4),希望能够帮助有需要的朋友. 首先贴上我的电脑配置报表: ----- ...
- iOS 学习资源
这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...
- iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
http://blog.csdn.net/totogo2010/article/details/7681879 1.UINavigationController导航控制器如何使用 UINavigati ...
- iOS学习资源个人整理
1208更新: http://www.tuyiyi.com 图翼网 https://github.com/Alamofire/Al ...
随机推荐
- js-call、apply
这里主要就是做一些前人的总结,有时候会有自己的看法,首先把定义说一下 1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义 ...
- WinForm 子窗体在父窗体范围内移动,不能出父窗体 摘自于网络
详细解释:1, 主窗体Form1属性IsMdiContainer设为True,并添加ToolStrip控件, Toolstrip中添加一个按钮toolStripButton1. 2,添 ...
- cin详解(cin.get()、cin.getline()、cin.clear()、cin.sync())
在C中,输入输出用scanf和printf,在输入数据的同时还需说明数据的类型,如果输入数据较多,那就很麻烦,而C++中也有相似的东西cin和cout,它们来自C++的一个名叫" iostr ...
- 解决oracle数据库连接不上的问题
今天打开部署好的java开发的网站系统,反应好慢,第一反应就是后台有问题. 查看tomcat一堆的报错信息,重启还是存在. 使用plSql连接数据库看看,登录提示如下:ORA-12514:TNS:监听 ...
- iOS 判断奇偶数
if (_bigUrlArray.count%2==0) {//如果是偶数 a = i*(_bigUrlArray.count/count);//每个线程图片初始数 b = (i+1)*(_bigUr ...
- 数据格式处理(数字,日期),java处理,jsp的fmt处理
java 格式处理 public static String formatTosepara(float data) {DecimalFormat df = new DecimalFormat(&qu ...
- CSS的命名
使用约定俗称的命名规范有助于我们的代码阅读和维护. 常用命名: wrap 外套 ———————— 用于最外层 container 容器 ———————— 和外套相似,用于做容器 he ...
- android 设计模式学习
1:单例模式 //对于创建开销较大的类可使用此方法,保证全局一个实例,在程序运行过程中该类不会因新建额外对象产生开销.示例代码如下:public class Singleton { private s ...
- IDL 建立影像金字塔
形成按目录放好的,类似于Google Map Tile的金字塔瓦片Jpg. 1: ; 2: pro tsplit 3: ; 读入Jpeg格式文件 4: szFile = 'e:\test.jpg'; ...
- VirtualBox中CentOS通过Host-Only方式实现虚拟机主机互相访问、共享上网
VirtualBox常用的网络配置如下: 连接方式 主机访问虚拟机 虚拟机访问主机 虚拟机访问虚拟机 虚拟机访问外网 说明 网络地址转换(NAT) 不支持 支持 不支持 支持 默认连接方式,虚拟IP, ...