OC考试题目
2014-08-27 18:33
190 查看
1.OC冒泡
2.数组遍历几种方式
3.int largenumber = 1000000000;
for(int i=0;i<largenumber;i++){
Person * p = [Person person];
[p study];
}
这段代码有什么问题,应该怎么去改?为什么?
4.(1)请完成声明一个返回值是bool类型,并且带两个字符串对象的BLOCK类型变量;
(2)为BLOCK类型变量赋值,是该变量具有判断两个字符串对象是否相等的功能;并使用该BLOCK变量测试两个字符串@“Abc”,@“abc”是否相等
5.简述内存管理的原则
新建一个Bubble类
Bubble.h
main.m
2.数组遍历几种方式
3.int largenumber = 1000000000;
for(int i=0;i<largenumber;i++){
Person * p = [Person person];
[p study];
}
这段代码有什么问题,应该怎么去改?为什么?
4.(1)请完成声明一个返回值是bool类型,并且带两个字符串对象的BLOCK类型变量;
(2)为BLOCK类型变量赋值,是该变量具有判断两个字符串对象是否相等的功能;并使用该BLOCK变量测试两个字符串@“Abc”,@“abc”是否相等
5.简述内存管理的原则
新建一个Bubble类
Bubble.h
#import <Foundation/Foundation.h> @interface Bubble : NSObject //冒泡排序 - (void)bubbleArray:(NSMutableArray *)array; @endBubble.m
#import "Bubble.h" @implementation Bubble - (void)bubbleArray:(NSMutableArray *)array { NSInteger count = [array count]; for (int i = 0; i < count - 1; i++) { for (int j = 0; j < count - i - 1; j++) { if ([[array objectAtIndex:j] compare:[array objectAtIndex:j + 1] options:64] == 1) { [array exchangeObjectAtIndex:j withObjectAtIndex:j + 1]; } } } } @end
main.m
#import <Foundation/Foundation.h> #import "Bubble.h" int main(int argc, const char * argv[]) { @autoreleasepool { //1.OC冒泡排序 NSMutableArray *array = [NSMutableArray arrayWithObjects:@"12",@"34", @"35", @"70", @"85", @"9", nil]; Bubble *arr = [[Bubble alloc] init]; [arr bubbleArray:array]; NSLog(@"%@", array); //2.数组遍历几种方式 NSArray *array1 = [NSArray arrayWithObjects:@"12",@"34", @"35", @"70", @"85", @"9", nil]; NSLog(@"数组遍历1"); for (NSString *i in array1) { NSLog(@"%@", i); } NSLog(@"数组遍历2"); for (int i = 0; i < [array1 count]; i++) { NSLog(@"%@", array1); } //3. /* int largenumber = 1000000000; for(int i=0;i<largenumber;i++){ Person * p = [Person person]; [p study]; } 这段代码有什么问题,应该怎么去改?为什么?*/ //存在的问题就是每次都进行开辟内存空间,没有释放,导致内存大量浪费 //****************修改后的代码******************// /*for (int i = 0; i < 10000000; i++) { @autoreleasepool { Person * p = [Person person]; [p study]; [p autorelease]; } }*/ //4.(1)请完成声明一个返回值是bool类型,并且带两个字符串对象的BLOCK类型变量; //(2)为BLOCK类型变量赋值,是该变量具有判断两个字符串对象是否相等的功能;并使用该BLOCK变量测试两个字符串@“Abc”,@“abc”是否相等 BOOL (^Block)(NSString *str1 , NSString *str2) = ^BOOL(NSString *str1 , NSString *str2){ return [str1 isEqualToString:str2 ]; }; NSLog(@"%d",Block(@"Abc",@"abc")); //5.简述内存管理的原则 /*1.如果一个对象使用了alloc,[mutable] copy,retain,那么你必须使用相应的release或autonrelease. 2.你拥有你任何你创建的对象 3.你使用了retain就可以获得这个对象的所有权。 4.当你不再使用你创建的对象的时候,你必须把所有权归还回去 5.你不能释放你没有拥有的对象*/ return 0; } }
相关文章推荐
- 2012届华为校园招聘上机考试题目(9月6日下午1点场)第二题及代码
- 程序员是怎么炼成的---OC题集--练习答案与题目(3)
- 数据库考试题目
- 2007浙大复试上机考试题目1--最小长方形
- 那些学校老师没有让我做的题目------职业赌客考试题目及答案
- PTA 数据结构与算法题目集(中文)5-8 哈利·波特的考试 (25分)
- 150303第一期黑暗的星期二之OC考试(解析慢慢上)
- 三级网络上机考试题目
- 10 25日考试 数学题目练习 斐波拉契 打表
- 计算机2级考试题目5
- 考试题目分析
- 全面分析RHCE7(红帽认证工程师)考试题目之 ----SSH篇
- 全面分析RHCE7(红帽认证工程师)考试题目之 ----WEB 服务器 篇
- 重写 去考试的小明题目
- 大型考试策略:没给出答案,不在任何介质上存储答案,才能真正避免题目的答案泄露,可以考试结束后,让通过一群科教人去计算正确答案.
- Sun考试认证题目解析(强力推荐,巩固基础)
- 2007浙大复试上机考试题目2--统计字符
- 2012届华为校园招聘上机考试题目(9月6日下午1点场)
- 一道计算机二级考试的题目
- 10 25日考试 数学题目练习 斐波拉契 打表