IOS工作笔记(十一)

1.关于代码规范

若想使用懒加载,

//懒加载
-(CADisplayLink *)displayLink{
    if (!_displayLink) {
        _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(toDoDrawLine)];
        _displayLink.frameInterval = 3;
    }
    return _displayLink;
}

在声明属性时,就需要使用类似下列形式

@property(nonatomic,strong) CADisplayLink *displayLink;

而不能写成

@interface BarView(){
    CADisplayLink *_displayLink;
}

若写成带下划线形式的,那么懒加载方法是不会执行的。必须写成self形式
只有在不需要懒加载时,才可以定义为下划线形式。

2.float或double类型的四舍五入,无需其它方法,用字符串的stringWithFormat即可处理。如:

NSLog(@"%@", [NSString stringWithFormat:@"%.0f", 1.0003]);
NSLog(@"%@", [NSString stringWithFormat:@"%.0f", 1.9003]);
NSLog(@"%@", [NSString stringWithFormat:@"%.0f", 1.5003]);
NSLog(@"%@", [NSString stringWithFormat:@"%.0f", 1.4003]);

打印结果:

3.为了防止按钮重复点击,可以把它设置为几秒内不能点击即可。用

performSelector:@selector() withObject: afterDelay:

就行。

时间: 2024-10-03 14:16:06

IOS工作笔记(十一)的相关文章

iOS工作笔记之NSClassFromString

id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init]; 和 id myObj = [[MySpecialClass alloc] init]; 是一样的.但是,如果你的程序中并不存在MySpecialClass这个类,下面的写法会出错,而上面的写法只是返回一个空对象而已. 因此,在某些情况下,可以使用NSClassFromString来进行你不确定的类的初始化. 比如在iPhone中,NSTask可能就会出现这种情

IOS工作笔记(二)

1.懒加载(即延迟加载)只有被调用时才初始化,防止资源浪费,需要重写对象 的get方法,且必须写成成员变量形式,如_imageData.可以这么写,如: 1 @property(nonatomic,strong) NSArray *imageData; 2 3 -(NSArray *)imageData{ //重写imageData的get方法 4 if(_imageData == nil){ 5 //初始化数据 6 NSMutableDictionary *image1 = [NSMutabl

IOS工作笔记(五)

说明:记录下学习IOS的一些琐碎,有些在现在看起来很简单幼稚,不过权当学习足迹吧! 1.frame的打印,可以用 NSLog(@"%@",NSStringFromCGRect(self.view.frame)); 2.UIButton文字的对齐方式,以左对齐为例 myBtn.titleLabel.textAlignment = NSTextAlignmentLeft;//这种设置方式无效 myBtn.contentHorizontalAlignment = UIControlConte

IOS工作笔记(三)

说明:记录下学习IOS的一些琐碎,有些在现在看起来很简单幼稚,不过权当学习足迹吧! 1.选定ipad支持的方向,如强制横屏等,需要在General——>Deployment Info ——>Device Orientation选择,含义如下: 所以要想强制横屏的话,可以点选 2.UIView中如何添加xib文件? 如新建一个UIView为DocDetailView,那么建的那个xib文件在custom class中class应写成跟UIView名字一样的,这里要写成DocDetailView,

IOS工作笔记(七)

说明:记录下学习IOS的一些琐碎,有些在现在看起来很简单幼稚,不过权当学习足迹吧! 1.在定义UITableViewCell时,组件可以直接加,也可以添加到contentView中 [self addSubViews:myBtn]; [self.contentView addSubViews:myBtn]; 但最好添加在contentView中,因为contentView可以定义很多东西. 2.关于下拉刷新和上拉加载,可以用是第三方框架MJRefresh,地址在 https://github.c

IOS工作笔记(四)

说明:记录下学习IOS的一些琐碎,有些在现在看起来很简单幼稚,不过权当学习足迹吧! 1.ios7中,对状态栏的调整是在控制器中进行的. 1 //设置状态栏为白色 2 -(UIStatusBarStyle)preferredStatusBarStyle{ 3 return UIStatusBarStyleLightContent; 4 } 5 //隐藏状态栏 6 -(BOOL)prefersStatusBarHidden{ 7 return YES; 8 } 2.给UIImageView或UILa

IOS工作笔记(九)

关于IOS与服务器交互json数据①从服务器接受json数据:这个可以用AFN,接受方式一般为get.如: 1 +(NSArray *)getContactsFromServer:(ZMMeetingAddViewController *)meetingAddController{ 2 NSMutableArray *contactsArr = [NSMutableArray array]; 3 4 NSString *urlGetContactsFromServer = [NSString s

IOS工作笔记(六)

说明:记录下学习IOS的一些琐碎,有些在现在看起来很简单幼稚,不过权当学习足迹吧! 1.NSArray中使用firstObject和lastObject的好处在于,当数组为空时,返回nil,而不会报错. 当数组为空,使用myArray[0]时,会报错. 2.UILabel和UIImageView都可以添加点击事件,以UIlabel为例. 1 UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTa

IOS工作笔记(一)

说明:记录下学习IOS的一些琐碎,有些在现在看起来很简单幼稚,不过权当足迹吧! 1.xib开发ipad使用横屏,可以在xib的view设置orientation为landscape,portrait是竖屏. 2.在.m文件中声明UITextField后,若想获取.比如想获取pwd@property(nonatomic,weak) UITextField *pwd;那么可以用 self.pwd.text获取. _pwd.text;// 这也可以获取到. 因为self.view其实调用的是pwd的g