1.首先要先了解main( )函数,函数有四个参数,argc ,argv,程序主要类 ,代理类
2.plist 、xml 格式文件通常用于储存用户设置
3. pch 预编译文件头
4. xib nterface Builder 图形设计界面(StoryBoard--iOS 5新特征)
5.AppDelegate.m 妙用 类似于监听接口 应用程序启动后,委托调用applicationDidFinishLaunching方法 应用程序要完全退出, 委托调用applicationWillTerminate方法
6.viewcontroller 程序执行顺序
loadview -> viewDidLoad-> 内存警告,后台,会执行didReceiveMemoryWarning -> viewDidUnLoad;如果viewcontroller当前正在显示(前台)didReceiveMemoryWarning
7. IBOutlet 表示在xib里面要画的控件 表示方法: IBOutlet UITextField *text;
8.@property (nonatomic, retain) Engine* engine; 代码生成机制 ,生成不同类型的getter/setter函数,接口类使用
9.OC不支持多继承,但是可以使用协议,代理
协议表示方法@protocol MyProtocol <NSObject>
-(void) method:(id)sender;
@end
10.addSubview 是将view加到所有层的最顶层 insertSubView可以控制它添加到父视图的哪一层
11.viewDidLoad:在视图加载后被调用
viewWillAppear:视图即将可见时调用
viewDidAppear: 视图已完全过渡到屏幕上时调用
viewWillDisappear:视图被驳回时调用,覆盖或以其他方式隐藏
12.loadNibNamed 动态加载视图
NSArray *nibViews=[[NSBundle mainBundle] loadNibNamed:@"Empty" owner:self options:nil];
13.NSArray *buttonArray = [[NSArray alloc]initWithObjects:cleanButton,saveButton, nil];
self.navigationItem.rightBarButtonItems = buttonArray; 多按钮用法
14.UINavigationBar增加button方法之一:
UIBarButtonItem * left = [UIBarButtonItem alloc] initWithTitle:@"left" style:UIBarButtonItemStyleBordered target:self action:@selector(leftMethod)];
15.触摸事件:UIResponder 一个可以接收触摸屏上的触摸事件的对象
resignFirstResponder 触发键盘隐藏
– touchesBegan:withEvent: 当用户触摸到屏幕时调用方法
– touchesMoved:withEvent: 当用户触摸到屏幕并移动时调用此方法
– touchesEnded:withEvent: 当触摸离开屏幕时调用此方法
– touchesCancelled:withEvent: 当触摸被取消时调用此方法
iOS 3.0 + 开始支持motion事件,特别是摇动设备
– motionBegan:withEvent: 运动开始时执行
– motionEnded:withEvent: 运动结束时执行
– motionCancelled:withEvent: 运动被取消时执行
iOS 4.0 + 开始支持远程事件
– remoteControlReceivedWithEvent:
16.NSStringFromClass 实例对象转化字符串
[NSClassFromString(NSStringFromClass([self class])) doSomeThing];
NSClassFromString 将NSString转换成一个Class,如果不存在,返回一个nil。
[[NSClassFromString(@"MyClass") alloc] init];
17.void (^animations)(void )" block 语句块,一个回调方法
18.fileURLWithPath是将str转化为文件路径,可以自动的去掉“/”。而URLWithString仅仅是将url2转化成NSURL类型
19.NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserdomainMask,YES) 获取应用程序私有目录
NSHomeDirectory() 得到是根目录
20.NSURL *assetURL = [song valueForProperty:MPMediaItemPropertyAssetURL]; //获取歌曲地址
AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL:assetURL options:nil]; //初始化视频媒体文件
21.UISwitch开关、
UIButton按钮、
UISegmentedControl分段控件、
UISlider滑块、
UITextField文本字段控件、
UIPageControl分页控件
UIActivityIndicatorView 实例提供轻型视图,这些视图显示一个标准的旋转进度轮
UITableView用来显示表格的可见部分,UITableViewCell用来显示表格的一行。
CLLocationManagerDelegate 地图定位协议
22.NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[defaults objectForKey:key]; 提取
[defaults setObject:item forKey:key]; 设置
[defaults removeObjectForKey:key]; 移除
SUserDefaults用于存储数据量小的数据,例如用户配置。并不是所有的东西都能往里放的,只支持:NSString,NSNumber, NSDate, NSArray, NSDictionary.
23.当一个类需要引用另一个类的时候 #import “abc.h” || @class abc;
分析开发者指南源码 GIT地址 https://github.com/iimgal/StudyiOS