iOS初学知识总结

/* 一、移动 缩放 旋转 */
    UIButton *btn = [[UIButton alloc]init];
    btn.transform = CGAffineTransformTranslate(btn.transform, 100, 100);
    btn.transform = CGAffineTransformScale(btn.transform, 100, 100);
    btn.transform = CGAffineTransformRotate(btn.transform, 3);
/* 二、数据晚加载 */
- (NSArray *)imageData
{
    if (_imagaData == nil) {
        //初始化数据
    }
    return _imageData;
}
 /* 三、需要延迟执行的函数 */
    [self performSelector:@selector(delay:) withObject:nil afterDelay:5.0];
    //或者
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
     //需要延迟执行的代码
    });
 /* 四、修改属性最好加上状态值 */
    UIButton *btn = [[UIButton alloc]init];
    //btn.titleLabel.text = @"btn";//没有状态值可能会导致混乱
    [btn setTitle:@"btn" forState:UIControlStateNormal];
 /* 五、模型的初始化方式 */
- (instancetype)initWithDict:(NSDictionary *)dict
{
    if (self = [super init]) {
        self.name = dict[@"name"];
        self.icon = dict[@"icon"];
    }
    return self;
}
+ (instancetype)appWithDict:(NSDictionary *)dict
{
    return [[self alloc] initWithDict:dict];
}//instancetype只能用在返回值类型上,不能像id一样用在参数类型上;并且编译器会检测instancetype的真实类型
 /* 六、遍历数组元素执行某方法 */
    NSMutableArray *views;
    for (UIView *subView in views) {
        [subView removeFromSuperview];
    }
    或:
    [views makeObjectsPerformSelector:@selector(removeFromSuperview)];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值