Objective - C、协议、数组、字典 - 测试

Objective - C, protocols, arrays, dictionary - test

这可能不适合提出此类问题,但我会尽力而为。 我明天要参加 Objective - C 的考试,我想确定我是否知道问题的答案。

1。如何用三个字符串定义数组?

NSArray *a = @[@"String1", @"String2", @"String3"];

2。如何用三对字符串定义字典?

NSDictionary *dictionary = @{
     @"String1" : [NSNumber numberWithInt:1],
     @"String2" : [NSNumber numberWithInt:2],
     @"String3" : [NSNumber numberWithInt:3],
};

3。创建包含三个方法的协议 - first 和 last 必须是可选的。

@protocol myProtocol
@optional
-(void)someMethod1:(id)someArgument;
@required
-(void)someMethod2:(id)someArgument;
@optional
-(void)someMethod3:(id)someArgument;
@end

4。协议 ABC 如下所示:

@protocol 
  -(int) def: (NSString *)a;
@end

从此协议调用方法 def 获取变量:

id <ABC> c;

[self.c def:self];

5。以三种不同的方式创建 NSString 类型的变量

NSString *s = [ NSString stringWithFormat:@”String”];
NSString *s = [[ NSString alloc] initWithFormat:@”String"];
NSString *s =@”String”;

6.分配并初始化 NSArray。我们可以向这个数组添加任何新对象吗?为什么?

没有,因为这个数组只在初始化期间被填充。

7.分配并初始化 NSMutableSet。我们可以向这个集合中添加任何新对象吗?为什么?

是的,因为 NSMutableSet 有添加对象的方法。

2。如何用三对字符串定义字典?
使用 NSNumbers.

的文字语法
NSDictionary *dictionary = @{
     @"String1" : @1,
     @"String2" : @2,
     @"String3" : @3
};

5.以三种不同的方式创建NSString类型的变量
没有格式时使用withString代替withFormat

NSString *s = [NSString stringWithstring:@”String”];
NSString *s = [[NSString alloc] initWithString:@”String"];

6.分配并初始化 NSArray。我们可以向这个数组添加任何新对象吗?为什么?
不,因为它是不可变的。

7.分配并初始化 NSMutableSet。我们可以向这个集合中添加任何新对象吗?为什么?
是的,因为它是可变的。

注意 6 和 7:可变:容易改变,值可以改变。不可变的:随着时间的推移不变或无法更改,该值无法更改。