常见IOS面试问题及答案

1、当 TableView的Cell改变时,如何让这些改变以动画的形式呈现?
增加cell时可以通过类似如下方法来做处理,删除时可以通过系统自带cell删除方法呈现删除效果,内容改变可以自定义动画。

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    //设置Cell的动画效果为3D效果
    //设置x和y的初始值为0.1;
    cell.layer.transform = CATransform3DMakeScale(0.1, 0.1, 1);
    //x和y的最终值为1
    [UIView animateWithDuration:1 animations:^{
        cell.layer.transform = CATransform3DMakeScale(1, 1, 1);
    }];
}

2、app启动流程
验证签名->dylib加载->资源加载->代码执行开始->Runtime->+load->main->UIApplication->AppDelegate->info.plist->Runloop->UIWindow->root vc
3、load、initialize区别
load:系统启动时调用一次,不可调用其他类,可用于做欺骗、钩子等,尽量不用因为会影响启动时间。
initialize:lazy load,首次调用前调用,可以随意做任何事。

你可能感兴趣的:(常见IOS面试问题及答案)