※ 选择题(共80题,每题1分)

 

            1、OC中布尔(BOOL)类型的变量的值只有:答案:(B

            A、1/0

            B、YES/NO

            C、true/false

            D、1/-1

 

            2、在OC中,类的定义包括两部分(声明与实现),其中实现部分是:答案:(C

            A、@import

            B、@interface

            C、@implementation

            D、@protocol

 

            3、声明一个方法:提供Student对象数组按照学号升序排列的判断条件:答案:(A

            A、-(NSComparisonResult)compareWithNumberForAscendSort:(Student*)otherStudent

            B、-(NSInteger)compareWithNumberForAscendSort:(Student*)otherStudent

            C、-(BOOL))compareWithNumberForAscendSort:(Student*)otherStudent

            D、+(int)compareWithNumberForAscendSort:(Student

 

            4、以下说法不正确的是:答案:(A

            A、nonatomic:提供多线程保护,提高性能,在没有使用多线程的编程中可以选择使用。

            B、assign:属性默认值。说明设置器直接进行赋值,针对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char)等等。

            C、retain:此属性只用于obj-c的对象类型,对参数进行release旧值,再retain新值。

            D、copy:此属性只对实现NSCopying协议的对象有效(NSString)。拷贝工作由copy方法执行。

 

            5、OC中的委托最好声明成:答案:(B

            A、retain

            B、assign

            C、copy

            D、readonly

 

            6、使用 Objective-C 语言输出“This is a Objective-Cprogram.”正确的是:答案:(D

            A、NSLog(@"%s",This isa Objective-C program.);

            B、NSLog(@"%@",This isa Objective-C program.);

            C、NSLog(@"This is aObjective-C program.",%@);

            D、NSLog(@"This is a Objective-Cprogram.");

 

            7、NSDictionary *dict =[NSDictionary dictionaryWithObject:@"a value"forKey:@"aKey"];

            NSLog(@"%@",[dictobjectForKey:@"aKey"]);

            [dictrelease];

            控制台中打印的最后一条信息会是:答案:(C

            A、a value

            B、aKey : a value

            C、崩溃信息

            D、a value : aKey

 

            8、Objective-C的代码文件的后缀为:答案:(B

            A、.cpp

            B、.m

            C、.pl

            D、.c

 

            9、-(id)setName:(NSString *)name:(NSString *)sex age:(int)age的方法名是:答案:(C

            A、-(id)setName:(NSString *)name:(NSString *)sex age:(int)age

            B、-setName:name :sex age:age

            C、setName: : age:

            D、setName:name:age:

 

            10、面向对象的特性不包括:答案:(D

            A、封装

            B、继承

            C、多态

            D、构造

 

            11、NSMutableString * str =[[NSMutableString alloc] initWithFormat:@"123"];

            NSLog(@"str= %p",str);

            [strappendFormat:@"456"];

            NSLog(@"str= %p",str);

            上面代码对字符串str进行拼接后,2次打印的地址是否相同:答案:(A

            A、相同

            B、不同

            C、随机打印

            D、有时相同,有时不同

 

            12、Objective-C中包含一个自定义的头文件应该使用:答案:(C

            A、#include ""

            B、#include<>

            C、#import ""

            D、#import<>

 

            13、下列哪个选项与@synthesize配合使用:答案:(D

            A、@end

            B、@interface

            C、@implementation

            D、@property

 

            14、以下代码执行后,person对象的retain count是多少:

            Person* person = [[Person alloc] init];

            [personretain]; [person release];答案:(B

            A、0

            B、1

            C、2

            D、3

 

            15、不会立刻使引用计数器改变的是:答案:(C

            A、release

            B、alloc

            C、autorelease

            D、retain

 

            16、关于类和对象的概念,下列属于对象的是:答案:(C

            A、奥迪A6

            B、保龄球

            C、世界冠军杨威

            D、西红柿

 

            17、NSArray *array = [NSArrayarrayWithObjects:@"one", @"two", @"three",nil];

            NSLog(@"%@",[arrayobjectAtIndex:1]);

            NSLog(@"%@",[arrayobjectAtIndex:3]);

            控制台中打印的最后一条信息会是:答案:(D

            A、one

            B、two

            C、three

            D、崩溃信息

 

            18、NSString *name = [[NSStringalloc]initWithString:@"赵四"];

            NSLog(@"%d",[nameretainCount]);

            上述代码打印结果是:答案:(A

            A、-1

            B、0

            C、1

            D、2

 

            19、NSArray *array = [NSArrayarrayWithObjects:@"1",@"2",@"3",@"4",@"2",nil];

            NSMutableSet*set = [[NSMutableSet alloc]init];

            for(NSString*str in array)

            {

              [setaddObject:str];

            }

            NSLog(@"%lu",[setcount]);

            [setrelease];

            控制台打印的结果是:答案:(A

            A、4

            B、5

            C、6

            D、7

 

            20、下列哪个选项不需要release方法:答案:(C

            A、[[NSString alloc]init];

            B、[[NSString alloc]initWithString:@”hehe”];

            C、[[NSArray arrayWithArray:arr1];

            D、[[NSMutableDictionary alloc]init];

 

            21、经过下列哪种操作后需要使用release方法。答案:(C

            A、delegate

            B、assign

            C、retain

            D、dealloc

 

            22、现有如下集合,能准确删除“赵四”的代码是:

            NSMutableDictionary* peoples=[NSMutableDictionary dictionaryWithObjectsAndKeys:@"赵四",@"左护法",@"李四",@"右使",@"唐sir",@"黑老大", nil];答案:(A

            A、[peoplesremoveObjectForKey:@"左护法"];

            B、[peoples removeObject:@"赵四"];

            C、[peoplesremoveObjectAtIndex:0];

            D、[peoples removeAllObjects];

 

            23、关于集合描述不正确的是:答案:(A

            A、所有的集合都可以添加元素。

            B、集合分为可变集合、不可变集合。

            C、数组、字典、NSSet这三种集合存储数据的方式不同。

            D、所有集合都能保存id类型数据。

 

            24、在OC中,类中成员变量的可见度(访问权限)不包括:答案:(D

            A、@public

            B、@protected

            C、@private

            D、@optional

 

            25、对于Objective-C中的方括号“[]”的作用,下列说法错误的是:答案:(D

            A、用于通知某个对象该做什么

            B、方括号内第一项是对象,其余部分是你需要对象执行的操作

            C、在Objective-C中通知对象执行某种操作,称为发送消息.(也叫调用方法)

            D、方括号中可以为空

 

            26、必须实现的协议方法使用:关键字声明.答案:(C

            A、@property

            B、@interface

            C、@required

            D、@protocol

 

            27、下面关于类概念的描述中,错误的是:答案:(D

            A、类是抽象数据类型的实现

            B、类是具有共同行为的若干对象的统一描述体

            C、类是创建对象的模板

            D、类就是C语言中的结构体类型

 

            28、名为print::的方法有几个传入参数:答案:(C

            A、0

            B、1

            C、2

            D、3

 

            29、向Xcode控制台输出一个字符串应该用:答案:(A

            A、NSLog()

            B、Printf()

            C、NSPrintf()

            D、scanf()

 

            30、下面哪些选项是类:答案:(A

            A、演员

            B、张艺谋

            C、擎天柱

            D、周杰棍的雪铁龙

 

            31、Objective-C 语言中类的实例变量如果只可以被本类和其子类访问,需要下列哪个修饰符:答案:(C

            A、@public

            B、@private

            C、@protected

            D、@friendly

 

            32、协议与委托的描述不正确的是:答案:(C

            A、委托是iOS的一种设计模式

            B、协议里的方法默认是必须实现的

            C、类接受了多个协议,这些协议写在父类后面的<>内,多个协议之间用“、”隔开

            D、定义协议使用@protocol关键字

 

            33、关于KVC的描述正确的是:答案:(B

            A、KVC是指"Key-ValueObserving"

            B、是一种间接访问对象的属性的机制。

            C、只能访问对象的属性。

            D、当对象的属性值改变时,我们能收到一个通知。

 

            34、关于KVC的描述正确的是:答案:(A

            A、KVC是指“键-值-编码”。

            B、是一种直接访问对象的属性的机制。

            C、只能访问对象的属性。

            D、当对象的属性值改变时,我们能收到一个通知。

 

            35、下面哪个选项对集合的描述是正确的:答案:(D

            A、集合内不能存不同类型的对象

            B、集合内可以存整型的数

            C、字典内键值可以相同,但是每个键值对应的对象必须不同

            D、集合内只能存对象

 

            36、下面程序段的输出结果是什么:

            NSMutableDictionary* dic = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4",nil];

            [dicremoveObjectForKey:@"3"];

            NSLog(@"%@",dic);答案:(C

            A、1=2 3=4

            B、1=2 2=3

            C、2=1 4=3

            D、2=1 3=2

 

            37、@interface Person : NSObject

            @property(nonatomic,retain)NSString* name;

            @end

            上面声明一个Person类

            Person* per = [[Person alloc] init];

            per.name= [[NSString alloc] initWithFormat:@"赵四"];

            NSLog(@"per.name= %d",[per.name retainCount]);

           答案:(D

            A、per.name = -1;

            B、per.name = 0;

            C、per.name = 1;

            D、per.name = 2;

 

            38、NSRange是什么数据类型:答案:(C

            A、数组

            B、字典

            C、结构体

            D、指针

 

            39、下面描述正确的选项是:答案:(B

            A、当计数器为1时,dealloc方法由系统自动调用

            B、一个对象在引用计数变为0时,会调用自己的dealloc方法

            C、在dealloc方法里,应该在[super dealloc]后释放本类所拥有的对象

            D、开启ARC后,可以重载dealloc,必须在dealloc里写 [super dealloc]方法

 

            40、关于协议描述不正确的是:答案:(D

            A、协议分正式和非正式协议。

            B、在要求确认协议的类必须实现协议中的方法时,可以使用@required。

            C、一个协议可以被多个类确认。

            D、协议中声明的方法,默认是@optional的。

 

            41、在OC中扩展类的方法的形式不包括:答案:(B

            A、继承

            B、多态

            C、类目

            D、延展

 

            42、创建对象时,对象的内存和指向对象的指针分别分配在哪里:答案:(A

            A、堆区,栈区

            B、常量区,堆区

            C、全局区,栈区

            D、栈区,堆区

 

            43、现有Person类声明和Person的子类Student,代码如下:

            @interfacePerson : NSObject

            -(void)walk;

            @end

            @implementationPerson

            -(void)walk

            {

              NSLog(@"Personis walking…");

            }

            @end

            @interfaceStudent : Person

            -(void)studentWalk;

            @end

            @implementationStudent

            -(void)studentWalk

            {

              (1)

            }

            end

            在下列选项中,那些代码可以填在(1)处实现调用Person类中的walk方法,并输出“Person is walking…”:答案:(C

            A、walk();

            B、super.walk;

            C、[self walk];

            D、self.walk();

 

            44、有一个类Student,要求实现:定义一个实例初始化方法,初始化方法需要传入名字和性别:答案:(B

            A、
-(id)initWithName:(NSString*)name sex:(NSString *)sex{
  if(self){
    self.name =name;
    self.sex = sex;
  }
  return self;
}

            B、
-(id)initWithName:(NSString*)name sex:(NSString *)sex{
  if (self = [super init]){
    self.name = name;
    self.sex =sex;
  }
  return self;
}

            C、
-(id)initWithName:(NSString*)name sex:(NSString *)sex{
  if (!self){
    self.name = name;
    self.sex =sex;
  }
  return self;
}

            D、
-(id)initWithName:(NSString*)name sex:(NSString *)sex{
  if (self = [super init]){
    self.name = name;
    self.sex =sex;
  }
}

 

            45、下列哪个选项不能作为property的可选属性:答案:(A

            A、alloc

            B、retain

            C、atomic

            D、strong

 

            46、类何时调用dealloc方法:答案:(D

            A、[property release]后

            B、[instance release]后

            C、[super dealloc]时

            D、当引用计数为0时.

 

            47、实例变量默认的访问修饰符是:答案:(C

            A、@public

            B、@private

            C、@protected

            D、@package

 

            48、下面程序段的输出结果是什么:

            NSMutableArray* arr1 = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3", nil];

            [arr1addObject:@"0"];

            [arr1replaceObjectAtIndex:2 withObject:@"3"];

            NSLog(@"%@",arr1);答案:(B

            A、0,1,2,3

            B、1,2,3,0

            C、1,3,3,0

            D、0,3,2,3

 

            49、下列代码正确的输出结果是:

            NSString* urlStr = @"www.baidu.com";

            NSRangerange = NSMakeRange(4,5);

            NSString*prefix = [urlStr substringWithRange:range];

            NSLog(@"%@",prefix);答案:(B

            A、bai

            B、baidu

            C、www.bai

            D、aidu

 

            50、下面哪个选项是正确的:答案:(B

            A、用继承可以扩展一个类,要调用扩展的方法,既可以用父类,也可以用子类

            B、用类目可以扩展一个类,可以直接用该类或该类的实例对象,去调用该类目扩展的方法

            C、延展就是类目

            D、可以在一个类的外部,调用这个类延展的方法

 

            51、NSString 和 NSMutableString的关系和区别描述不正确的是:答案:(D

            A、NSString是不可变字符串,即本身内容不能被改变。

            B、NSMutableString是可变字符串,即本身内容可修改。

            C、NSMutableString是NSString的子类。

            D、NSString和NSMutableString没有任何关系。

 

            52、以下说法正确的是:答案:(C

            A、求数组的内容的个数用length方法

            B、字典是根据其位置来索引数据的

            C、协议中定义的方法默认是必须实现的

            D、定义类目必须要拿到自己类的源代码

 

            53、内存管理的关键字描述错误的是:答案:(C

            A、retaincount是指对象的引用计数。

            B、retain关键字可以增大对象的引用计数。

            C、release可以减小对象的引用计数,但autorelease不可以

            D、dealloc方法不能直接调用

 

            54、NSRange的成员变量有:答案:(A

            A、location,length

            B、width,height

            C、location,height

            D、length,width

 

            55、声明一个返回值为NSArray,并且带两个字符串对象的BLOCK类型变量:答案:(D

            A、NSArray (*aBlock)(NSString *str,NSString *str2)

            B、NSArray ^(*aBlock)(NSString *str,NSString *str2)

            C、NSArray (^aBlock)(NSString *str,NSString *str2)

            D、NSArray *(^aBlock)(NSString *str,NSString *str2)

 

            56、关于类目、延展的描述错误的是:答案:(B

            A、延展主要为类提供“私有”方法

            B、类目、延展不但能为类添加方法,而且都可以添加新的实例变量

            C、无论能否拿到类的源码,类目都可以对其扩展

            D、类目和延展声明语法不同

 

            57、读代码:

            NSString*str=@"hello";

            NSMutableSet*mt=[NSMutableSet setWithObjects:str, nil];

            [mtaddObject:str];

            NSLog(@"%lu",mt.count);

            结果是:答案:(A

            A、1

            B、2

            C、3

            D、4

 

            58、自定义一个Person类,下面哪个选项是规范的便利构造器声明方式:答案:(D

            A、-(id)personWithName:(NSString *)theName;

            B、-(id)personwithName:(NSString*)theName;

            C、+(id)personwithName:(NSString*)theName;

            D、+(id)personWithName:(NSString*)theName;

 

            59、以下对类的描述不正确的是:答案:(C

            A、类的接口部分可以包含实例变量、属性和方法

            B、可以把声明和实现都放到.h文件中

            C、一对文件(Person.h Person.m)只能定义一个类

            D、类比较抽象,对象比较具体

 

            60、关于NSSet描述正确的有:答案:(B

            A、NSSet可以存放任何数据类型的数据。

            B、NSSet存放数据是无序的。

            C、NSSet可以通过下标获取数据。

            D、NSSet存放的数据是有序的。

 

            61、下面程序段的输出结果是什么:

            NSArray* arr1 = [[NSArray alloc]initWithObjects:@"1",@"2",@"3", nil];

            NSString*str;

            str =[arr1 objectAtIndex:2];

            NSLog(@"%@",str);答案:(C

            A、1

            B、2

            C、3

            D、程序崩溃

 

            62、关于类目的说法正确的有:答案:(A

            A、类目可以为所有的类添加新方法。

            B、类目中添加的方法比原类中定义的方法级别要低。

            C、定义类目需要使用关键字category。

            D、类目可以随意使用。

 

            63、现有自定义类Student,下列选项中Student类的便利构造器编写正确的是:答案:(D

            A、
-(id) initWithName:(NSString*) newName{
  Student * stu = [[Student alloc]init];
  stu.Name = newName;
  return stu;
}

            B、
+(id)studentWithName:(NSString *) newName{
  Student * stu = [[Studentalloc] init];
  stu.Name = newName;
  return stu;
}

            C、
+(id) studentWithName:(NSString*) newName{
  Student * stu = [[Student alloc]init];
  stu.Name = newName;
  [sturelease];
  return stu;
}

            D、
+(id)studentWithName:(NSString *) newName{
  Student * stu = [[Studentalloc] init];
  stu.Name = newName;
  [stu autorelease];
  returnstu;
}

 

            64、NSDateFormatter * formatter =[[NSDateFormatter alloc] init];

            [formattersetAMSymbol:@"AM"];

            [formattersetPMSymbol:@"PM"];

            [formattersetDateFormat:@"YY-MM-dd hh:mm:ss aaa"];

            NSString* currentDate = [formatter stringFromDate:[NSDate date]];

            NSLog(@"%@",currentDate);

            打印结果是:答案:(D

            A、2012-05-31 17:45:04 PM

            B、12-05-31 17:45:04

            C、2012-05-31 17:45:04

            D、12-05-31 05:45:04 PM

 

            65、下面哪个选项无内存问题的:答案:(C

            A、
-(NSString*)description{
  NSString * str = [[NSString alloc]initWithFormat:@"description"];
  return str;
}

            B、
-(NSString*)description{
  NSString * str = [[NSString alloc]initWithFormat:@"description"];
  [strrelease];
  return str;
}

            C、
-(NSString*)description{
  NSString * str = [[NSString alloc]initWithFormat:@"description"];
  [strautorelease];
  return str;
}

            D、
-(NSString*)description{
  NSString * str = [NSStringstringWithFormat:@"description"];
  return [strautorelease];
}

 

            66、下列哪个操作不会引起引用计数(retaincount)的变化是:答案:(B

            A、NSString *str1 = [[NSStringstringWithFormat:@"hehe"];

            B、int a=1;

            C、NSMutableData *data1 =[NSMutableData allocWithZone:data2];

            D、NSArray *arr1 = [[NSArrayalloc]initWithArray:arr2];

 

            67、读代码

            NSString* str =[[NSString alloc]initWithFormat:@"%@",@"baiDuo123ios"];

            NSString* str1=[str substringToIndex:3];

            NSString* str2=[str substringWithRange:NSMakeRange(6, 3)];

            NSString* newStr=[str1 stringByAppendingString:str2];

            NSLog(@"newStr=%@",newStr);

            则newStr的值为:答案:(D

            A、baiDu

            B、ba123

            C、baiios

            D、bai123

 

            68、下面程序段的输出结果是什么:

            int a= 10;

            NSNumber*b = [[NSNumber alloc] initWithInt:a];

            NSLog(@"%d",a+++b);答案:(D

            A、21

            B、20

            C、30

            D、编译错误

 

            69、下面程序段的输出结果是什么:

            NSMutableDictionary* dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"1",@"3",@"1",@"4",nil];

            NSArray*arr1 = [[NSArray alloc] initWithArray:[dic allKeys]];

            NSArray*arr2 = [[NSArray alloc] initWithArray:[dic allValues]];

            NSMutableDictionary*dic2 = [[NSMutableDictionary alloc] initWithObjects:arr1 forKeys:arr2];

            NSLog(@"%@",dic2);答案:(C

            A、1=2 1=3 1=4

            B、2=1 3=1 4=1

            C、1=4

            D、4=1

 

            70、NSMutableDictionary字典中删除对象可以使用下面那个方法:答案:(D

            A、filteredArrayUsingPredicate:

            B、arrayByAddingObject:

            C、initWithCapacity:

            D、setValue:forKey:

 

            71、下面程序段的输出结果是什么:

            NSMutableDictionary* dic = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4",nil];

            NSString*str = @"3";

            int a= 3;

            [dicsetObject:a forKey:str];

            NSLog(@"%@",dic);答案:(D

            A、2=1 3=3 4=3

            B、1=2 3=3 3=4

            C、1=2 3=3 3=3

            D、程序崩溃

 

            72、下列选项中不能正常为emp的name属性赋值的代码有:答案:(B

            A、emp.name=@"李连杰";

            B、emp->name=@"周杰伦";

            C、[emp setValue:@"柳传志"forKey:@"name"];

            D、[emp setName:@"黄圣依"];

 

            73、关于内存管理的描述错误的是:答案:(D

            A、alloc与dealloc是对应的,前者分配内存,后者回收内存

            B、retain与release是对应的,前者retainCount加1,后者retainCount减1

            C、当对象的retainCount为0时,dealloc会被系统调用

            D、iOS5之后的ARC指的是系统垃圾回收

 

            74、写出下面程序段的输出结果:

            NSString* aString = [[NSString alloc] initWithString:@"123"];

            [aStringautorelease];

            NSMutableArray* arr = [NSMutableArray array];

            [arraddObject:aString];

            NSLog(@"string= %lu",[aString retainCount]);答案:(C

            A、1

            B、0

            C、整型最大值

            D、2

 

            75、下面程序段的输出结果是什么:

            NSString* aString = [[NSString alloc] initWithString:@"hehe"];

            [aStringautorelease];

            NSMutableArray*arr = [NSMutableArray array];

            [arraddObject:aString];

            NSLog(@"string= %d",[aString retainCount]);答案:(A

            A、string = -1

            B、string = 0

            C、string = 1

            D、string = 2

 

            76、NSAutoreleasePool *pool =[[NSAutoreleasePool alloc] init];

            NSString*str = [NSString stringWithFormat:@”abc”];

            NSString*str2 = [str retain];

            [poolrelease];

            NSLog(@”strretainCount = %d,str2 retainCount = %d”,[str retainCount],[str2 retainCount]);

            上述代码打印结果正确的是:答案:(C

            A、str retainCount = 2,str2retainCount = 2

            B、str retainCount = 0,str2retainCount = 1

            C、str retainCount = 1,str2retainCount = 1

            D、str retainCount = 2,str2retainCount = 0

 

            77、NSMutableDictionary * dic =[[NSMutableDictionary alloc]initWithObjectsAndKeys:@"1",@"2",@"2",@"3",@"3",@"4",nil];

            NSArray*arr = [[NSArray alloc] initWithArray:[dic allKeys]];

            NSString*str = [[NSString alloc] initWithFormat:[arr objectAtIndex:0],[arrobjectAtIndex:1],[arr objectAtIndex:2]];

            NSLog(@"%@",str);

            结果是:答案:(C

            A、123

            B、234

            C、2

            D、3

 

            78、查看下列代码,能正确输出number的选项是:

              @interfaceMyClass : NSObject

            {

              intnumber;

            }

            +(void)printNumber;

            @end

            @implementationMyClass

            +(void)printNumber

            {

              number=10;

              NSLog(@""%d"",number);

            }

            @end答案:(D

            A、[MyClass printNumber];

            B、MyClass * obj = [[MyClassalloc] init]; [obj printNumber];

            C、printNumber();

            D、编译错误,无法执行。

 

            79、对于下面代码说法正确的是:

            @property(copy,nonatomic,readonly)NSString * calValue;答案:(D

            A、没有getter方法,当对calvalue赋值时,将产生一个NSString副本。

            B、此属性可保证多线程安全。

            C、此属性在合成时可以生成设置器方法。

            D、此属性只能读取,不能赋值。

 

            80、有如下一个类定义

            @interfaceMyClass:NSObject

            @property(nonatomic,retain)NSString*str;

            @end

            @implementationMyClass

            (1)

            -(NSString*)str

            {

              returnstr;

            }

            -(void)dealloc

            {

              self.str= nil;

              [superdealloc];

            }

            @end答案:(C

            A、
-(void)setStr:(NSString*)newStr
{
  str = newStr;
}

            B、
-(void)setStr:(NSString*)newStr
{
  [str release];
  str = [newStr retain];
}

            C、
-(void)setStr:(NSString*)newStr
{
  if(str !=newStr)
  {
    [str release];
    str= [newStr retain];
  }
}

            D、
-(void)setStr:(NSString*)newStr
{
  [newStr retain]
  [str release] = newStr;
}

 

※ 判断题(共10题,每题2分)

 

            1、注释可以出现在程序的任何位置。答案:(T

            正确

            错误

 

            2、实例对象都是通过调用类方法生成的。答案:(T

            正确

            错误

 

            3、协议中定义的方法默认是必须实现的。答案:(T

            正确

            错误

 

            4、在dealloc方法中对变量的释放顺序与初始化的顺序相同。答案:(F

            正确

            错误

 

            5、便利构造器产生的对象应当由使用者进行销毁。答案:(F

            正确

            错误

 

            6、当类别中的方法与原始类方法名称冲突时,类别具有更高的优先级。答案:(T

            正确

            错误

 

            7、retain的作用是引用计数减一。答案:(F

            正确

            错误

 

            8、为了保证程序不产生额外的内存开销,当对象不再被需要以后,应当被立即销毁。答案:(T

            正确

            错误

 

            9、在类方法中可以使用实例变量。答案:(F

            正确

            错误

 

            10、在动态(实例)方法中,self是指调用当前方法的那个对象。答案:(T

            正确

            错误




Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐