note
1、[self performSelector:@selector(方法) withObject:nil afterDelay:NSTimeInterval]
//等待NSTimeInterval时间,执行方法
2、button.hidden=NO
//按钮是否隐藏
3、[button addTarget:self action:@selector:(方法) forControlEvent:UIControlEventTouchUpInside]
//代码手动为按钮添加方法
4、[button setTitle:@"" forState:UIControlStateNormal]
//为按钮设置标题
5、NSString * string = [oneString substringToIndex:(NSUInteger)];
//返回字符串oneString的子串,到头到index位置
6、int a = title.intValue;//讲字符串转换为整数
7、字典转模型
[self setValuesForKeysWithDictionary:dict];
//新建一个类,属性和字典的关键字需要相同,会自动赋值
//类里,最好有init方法,类同名的[类名 alloc] init]方法,返回一个初始化后数组的方法以便调用
8、让一个数组乱序
NSArray *option
[option sortedArrayUsingComparator:^NSComparisonResult(NSString *str1,NSString *str2)
{
int seed = arc4random_uniform(2);
if(seed){
return [str1 compare:str2];
}else{
return [str2 compare:str1];
}
}];
}
一些写代码时的经验
1、#pragma mark -XX
预编译指令 ,注意要有“-”号,可以再菜单里看到附属关系
2、ctrl + command + 上箭头 在头文件和m文件之间切换
3、用鼠标点击代码编辑器左边的很窄的侧栏(断点栏的右边),即可折叠代码。
4、option + command +中括号 可实现代码整块上下移动
5、在主要的方法中,剪短代码,体现思路和流程
6、代码自建的按钮中,无法显示标题是,需要注意标题的颜色是不是白色
7、如果在发生异常显示出现在main,可以点击add exception breakpoint,再次运行时会出现具体的异常位置
8、一组相关的代码放在一起,主方法放在最前面,辅助主方法的放在主方法后面
9、在ios开发中,使用点作为单位
在非视网膜屏中:一个点是一个像素
在视网膜屏中,一个点是4个像素
在help->xcode overview里的user experience->guides->app icons里有详细说明
10、按钮不能交互的几种情况
1、alpha<=0.01
2、hidden = YES
3、userInteraction = NO
4、父视图不允许交互,有的时候控件默认是不允许交互,如imageView的userInteraction默认为NO
5、在父视图可见范围外