iOS 面试题~经验找代码错误

//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄

一、概念


1.指出以下这段代码的问题


 - (void)test{

    

    CGRect frame = CGRectMake(20, 200, 200, 20);

    self.alert = [[UILabel alloc]initWithFrame:frame];

    self.alert.text =@"Please wait 10 seconds...";

    self.alert.textColor = [UIColor redColor];

    [self.view addSubview:self.alert];

    

    NSOperationQueue *waitQueue = [[NSOperationQueuealloc]init];

    [waitQueue addOperationWithBlock:^{

        [NSThreadsleepUntilDate:[NSDatedateWithTimeIntervalSinceNow:10]];

     

        self.alert.text = @"石虎";

        NSLog(@"执行一个新的操作,线程:%@", [NSThread currentThread]);

    }];

}


正确修改为:


 [waitQueue addOperationWithBlock:^{

        [NSThread sleepUntilDate:[NSDate dateWithTimeIntervalSinceNow:10]];

    //正确要在主线程赋

    dispatch_async(dispatch_get_main_queue(), ^{

        self.alert.text = @"石虎";

    });

    

    NSLog(@"执行一个新的操作,线程:%@", [NSThread currentThread]);

}];




2.写出下列程序的输出结果


typedef void (^BoringBlock)(void);


int main(int argc,constchar *argv[])

{

    int a = 23;

    __block int b =23;

    

    BoringBlock block1 = ^{NSLog(@"a1==%d",a);};

    BoringBlock block2 = ^{NSLog(@"b1==%d",b);};

    

    

    a = 32;

    b = 32;

    BoringBlock block3 = ^{NSLog(@"a1==%d",a);};

    BoringBlock block4 = ^{NSLog(@"b2==%d",b);};

    

    block1();

    block2();

    block3();

    block4();

    

    return 0;

}


打印结果:

2017-10-3020:29:25.645 石虎测试 demo[969:6507971] a1==23

2017-10-3020:29:25.646 石虎测试 demo[969:6507971] b1==32

2017-10-3020:29:25.646 石虎测试 demo[969:6507971] a1==32

2017-10-3020:29:25.646 石虎测试 demo[969:6507971] b2==32


谢谢!!!


实现中等难度通讯录。需求: 1、定义联系⼈类Contact。实例变量:姓名(拼⾳,⾸字⺟⼤写)、性别、电话号码、 住址、分组名称、年龄。⽅法:⾃定义初始化⽅法(姓名、电话号码)、显⽰联系⼈信息 2、在main.m中定义字典,分组管理所有联系⼈。分组名为26个⼤写的英⽂字⺟。 3、可以添加联系⼈对象,如果姓名或电话号码为空,添加失败。添加联系⼈到匹配的分 组。 4、获取某个分组名称下所有联系⼈,并且按照姓名升序排列。 5、从通讯录中根据电话号码搜索联系⼈。 6、获取所有⼥性的联系⼈,并且按照年龄的降序排列。 7、根据姓名删除某个联系⼈。 8、删除某个分组的全部联系⼈。 二.处理⼯程⽂件crayons.txt中的⽂本信息,⽂本内容是关于颜⾊的,每⾏都是⼀ 个颜⾊的信息,例如:Almond #EED9C4,前⼀个字符串是颜⾊的名称,后⼀ 个字符串是颜⾊的16进制⾊值,处理⽂本完成如下需求 1、使⽤字典管理所有的颜⾊,即字典中存储的是多个键值对,颜⾊名称为 key,16进制颜⾊值(不带#)是value。 2、取出所有的key,升序排列。 3、取出所有的value,按照排序后的key排列。 4、使⽤⼀个新的字典管理颜⾊,对颜⾊进⾏分类管理,即:“A”,“B”,“C”… 即这个字典包含多个键值对,key是26个字⺟,value是数组,数组⾥存放的是 Color对象(包含name和colorValue)。需要⾃⼰创建Color类。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值