Assignment Help logo
在线聊天

Loading...

Score %0 (0 correct0 incorrect20 unanswered)

Q1. 在执行以下代码后,s的值是多少?

NSMutableString *s = [NSMutableString stringWithString: @"123"];
[s appendString: @"456"];
  • 123456
  • 123
  • 123
  • 456
  • 该代码包含错误。

Q2. 在执行以下语句后,i的值是多少?

NSString *str = nil;
NSInteger i = str.integerValue;
  • nil
  • 0(严格来说nil == 0,但i将具有字面值0,而不是nilvoid*值)
  • -1
  • 该代码会崩溃。

Q3. 在执行此行后,str中有什么值?

NSString str = "test" + " " + "more";

  • 该代码包含错误
  • test
  • nil
  • test more

Q4. 以下代码的输出是什么?

    NSPredicate *p2 = [NSPredicate predicateWithBlock:^BOOL(NSString*  evaluatedObject, NSDictionary<NSString *,id> * _Nullable bindings) {
      return evaluatedObject.intValue % 2 == 0;
    }];
    NSArray *vals = @[@"1", @"2", @"3"];
    NSArray *n2 = [vals filteredArrayUsingPredicate:p2];
    NSLog(@"%@", n2.firstObject);
  • 2
  • 1,2,3
  • 1,2
  • 什么都没有,因为该代码包含错误。

Q5. 属性的默认值包括_?

  • atomic/strong
  • atomic/weak
  • nonatomic/weak
  • nonatomic/strong

Q6. NSDictionary和NSMutableDictionary之间的主要区别是什么?

  • NSMutableDictionary的值可以更改
  • NSMutableDictionary没有初始化器。
  • NSDictionary无法复制。
  • NSDictionary的值可以更改。

Q7. foo是什么?

-(float)foo;

  • 返回类型为float的函数。
  • 该代码包含错误。
  • float类型的变量声明。
  • float类型的属性。

Q8. 从这行代码中可以得出什么信息?

#import "NSString+NameHelper.h"

  • NameHelper是NSString的一个类别。
  • NameHelper是NSString的子类。
  • NSString实现了NameHelper协议。
  • NSString有一个辅助类。

Q9. 这段代码有什么问题?

float x = 5.;

  • 这段代码没有问题。
  • 声明不需要分号。
  • x=5是无效的浮点数。
  • 变量不能在同一个状态中声明和初始化。

Q10. 这个循环将被执行多少次?

for (int x=0; x<100; x++) {
  x = x + 1;
}
  • 50
  • 99
  • 100
  • 该代码包含错误。

Q11. 此代码的示例是什么?

[self addObserver: self forKeyPath: @"val" options:0 context: nil];

  • 键值观察(Key-Value Observing)
  • 类值观察(Class Value Observing)
  • 键数据观察(Key-Data Observing)
  • 键路径观察(KeyPath Observing)

Q12. ARC是什么的缩写?

  • 自动引用计数(Automatic Reference Counting)
  • 自动保留检查(Automatic Retain Checking)
  • 异步保留循环(Async Retain Cycles)
  • 自动释放代码(Automatic Release Code)

Q13. 对于这段代码,会打印出什么?

int val = 0;
val = 1.5;
printf("%d", val);
  • 1
  • 2
  • 0
  • 该代码包含错误。

Q14. 最能描述Objective-C中类继承的是什么?

  • 单继承但可以实现多个协议(single inheritance but multiple protocol implementation)
  • Objective-C不支持继承
  • 双类继承(dual class inheritance)
  • 无限类继承和协议遵循(unlimited class inheritance and protocol adherence)

Q15. 在执行此代码后,此NSDictionary有多少个键?

NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys: @"b", @"e", @"a", @"r", nil];

  • 2
  • 4
  • 5
  • 该代码包含错误。

Q16. 这段代码有什么错误?

NSMutableDictionary *dict1 = [NSMutableDictionary dictionaryWithCapacity:5];
[dict1 setValue:@"key" forKey:@"value"];
  • 键和值的项被混淆了
  • 没有任何问题
  • 不能设置字典的容量
  • NSMutableDictionary没有:setValue:forKey函数。

Q17. 从这段代码中打印出什么?

NSData *data = [@"print" dataUsingEncoding:NSASCIIStringEncoding];
NSLog(@"%@", [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]);
  • print
  • 该代码无效
  • 这段代码不会打印任何内容。
  • nil

Q18. 这个函数有什么不同?

+(void)doSomething;

  • 它是静态的(static)
  • 它是抽象的(abstract)。
  • 它是内联的(inline)。
  • 该代码包含错误。

Q19. 结构体可以有_吗?

  • 函数
  • 初始化器
  • 字段
  • 所有这些答案

Q20. 这段代码有什么问题?

@interface MyClass :

 NSObject
    @property (strong, nonatomic, readonly) NSString *name;
  @end
  • 这段代码没有问题。
  • 没有只读指示符。
  • MyClass没有实现NSObject。
  • 属性应该在实现中声明。