xml地图|网站地图|网站标签 [设为首页] [加入收藏]

牛客网 iOS 题 107-126

来源:http://www.ccidsi.com 作者:呼叫中心培训课程 人气:143 发布时间:2020-01-09
摘要:copy 是开创叁个新对象,retain 是成立叁个指针,引用对象计数加1 3、Shell中,将command1的出口作为command2的输入相应使用的通令是 (D) 牛客网 iOS 题 21-41 答案:fontcolor=“LightYellow”未有

copy 是开创叁个新对象,retain 是成立叁个指针,引用对象计数加1

3、Shell中,将command1的出口作为command2的输入相应使用的通令是 (D)

牛客网 iOS 题 21-41

答案:<font color=“LightYellow”>未有私有办法,有私有变量</font>

在 interface 里定义变量暗中同意是维护的,在 plementation 里定义变量暗中同意是私人商品房的Objective-C 类里面方法独有二种:静态方法和实例方法,且扶持动态分析,未有断然的村办方法

  1. category 能够增添新的主意;
  2. category 不可能去除订正从前的措施;
  3. 可将类的落实分流到八个不等文件或多个例外框架中;
  4. 可创建对私家方法的前向援用。
  1. 当使用 ARC 管理内部存款和储蓄器时,代码中冒出 autorelease 会引致编译错误,因为 ARC 会自动插入retain, release, autorelease, dealloc 等主要字;
  2. autoreleasepool 在 drain 的时候会自由在里边分配的靶子;
  3. 当使用ARC来治本内部存款和储蓄器时,在线程中山高校量分红对象而不用autoreleasepool则或者会招致内部存储器走漏;
  4. 在使用ARC的花色中无法动用NSZone。
  1. retain;
  2. weak;
  3. strong;
  4. copy;

答案:<font color=“LightYellow”>4</font>

Block属性的扬言,首先需求用copy修饰符,因为唯有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的

    1. @class 常常用来表明有个别字符串作为类名使用,并从未导入 .h 文件中的内容,不会挑起交叉编写翻译的主题素材。
  1. Objective-C 的类不能多种世襲,OC 的类只可以接二连三自一个类;
  2. (因该是公约 protocol )能够屈从多少个钻探然后分别达成八个合同的措施;
  3. Category 是分类,可认为已存在的类增添方法,把不相同的类措施分配到分裂的归类文件中;
  4. 用持续重写叁个类比较好。

使用分类为本来的类加多方法的时候日常会给艺术名增多前缀,即使不增多前缀的话会大概重名而覆盖原有办法,这种状态下出错的话使用那一个类之处都会不由自主难题。使用持续的话,则只是选择这些子类的地点变态。

  1. NSNotification 和 KVO 都以观望者方式的具体得以完毕。最非常的分别在于:

    1. NSNotification 具有一个音信大旨,八个大局对象,注册方式灵活,观望者只要向音讯核心注册, 就能够采取任何对象发送来的消息,信息发送者和音讯接收者两个能够并行胸无点墨,完全解耦。NSNotification能够运用于自由时间和任何对象,观看者能够有多少个,
    2. Key-Value Observing,是Foundation框架提供的大器晚成种体制,使用KVO,能够方便地对点名对象的某部属性实行观察,当属性发生变化时,举办通告.
  2. 应用 protocol 和 delegate 实现:A 对象作为被观察者,B 对象作为观看者,C 作为文告主旨。C 对象急需 B 作为 delegate, 当 A 对象产生变化时,给 C 发送新闻,C 筛选找到特定的 delegate 对象,尝试调用 B 注册的办法。

    难题:管理复杂,灵活性低。

参考MMPopupView

  1. ^w .w .w $
  2. [w]{0,3}.[a-z]*.[a-z]
  3. ^w.*com$
  4. [w]{3}.[a-z]{11}.[a-z]

答案:<font color=“LightYellow”>1,4</font>[图片上传战败...(image-842f83-1526094160744卡塔尔(قطر‎]

30.以下代码的出口为:

 NSString *str = [[NSString alloc]initWithFormat:@"%@", @"iLanou123ios"]; NSString *str1 = [str substringToIndex:3]; NSString *str2 = [str substringWithRange:NSMakeRange]; NSString newStr = [str1 stringAppendingString:str2]; NSLog(@"%@", newStr);
  1. iLanou;
  2. iL123;
  3. iLa123;
  4. iLaios;

答案:<font color=“LightYellow”>3</font>

str2 开首化为 str 的第6个字符初阶截取3个字符的字符串

  1. redis;
  2. localStorage;
  3. sessionStorage;
  4. userData;

答案:<font color=“LightYellow”>2,4</font>

  1. redis 是三个开源的运用 ANSI C语言编写、扶助互联网、可借助内存亦可悠久化的日志型、key-value 数据库;
  2. localStorage:没一时限的数额存款和储蓄;
  3. sessionStorage:针对多少个 Session 的数据存款和储蓄,生命周期为日前窗口或标签页;
  4. userData 常用做漫长化存款和储蓄,举例落到实处免登入功能正是收获以前存款和储蓄的客户数量实现的。
  1. @implementation SomeClass
  2. @autorelease SomeClass
  3. @protocol SomeClass
  4. @interface SomeClass

答案:<font color=“LightYellow”>3</font>

1:申明生机勃勃(Wissu卡塔尔个类的兑现部分;2:证明自动释放池;3:证明协议;

  1. isMemberOfClass 揭破对象的世襲关系;
  2. isKindOfClass 拆穿对象的后续关系;
  3. confirmsToProtocol 是不是服从有个别合同;
  4. responseToSelector 是不是贯彻某些方法。
  1. 人为在 UI 线程职工做轻微耗费时间操作,引致 UI 线程卡顿;
  2. 布局 layout 过于复杂,不只怕在 16ms 内到位渲染;
  3. 同期动漫推行的次数过多,以致 CPU 或 GPU 负载超级重;
  4. 内部存储器频繁触发 GC 过多(同意气风发帧中又一次创造内部存款和储蓄器),招致暂且拥塞渲染操作。
  1. 奥迪o Queue Services 音频队列服务
  2. OpenGL 跨平台的开源音频管理接口
  3. System Sound Service 系统声音服务
  4. AV奥迪oPlayer 高等音频播放器

NSCoding谈判有五个点子:

  1. encodeWithCoder方法对指标的属性数据做编码处理;
  2. initWithCoder解码归档数据来早先化对象。
  1. CLLocationAccuracy
  2. locationManager:(CLLocationManager *)manager didUpdateLocations:locations
  3. CLLocationManager *locationManager=[[CLLocationManager alloc]int];
  4. CLLocationDistance

标题设置比较模糊,暂时未有答案

腾讯网相互作用设计题

答案:<font color=“LightYellow”>3</font>

  1. 关于Objective-C中质量的证实,以下错误的是()
    千真万确答案: D
  1. OC 数组中的成分无法使主旨数据类型,必需是目的,并且array[3]下标越界;
  2. 字典中键值对不能够为 nil,运转时崩溃
  3. OC 中向空对象发送消息,不奉行另外操作,不报错,不崩溃
  4. 数组下标越界,运行时崩溃
int main(int argc, const char * argv[]) {
    int a[5] = {1,2,3,4,5};
    int *ptr = (int *)(&a 1);
    NSLog(@"%d,%d",*(a 1),*(ptr-1));// 2,5
    return 0;
}

答案:<font color=“LightYellow”>1</font>

16、要求在手动管理内部存款和储蓄器分配和假释的Xcode项目中引进和编写翻译用ARC风格编写的公文,供给在文件的Compiler Flags上丰裕参数: (B)

答案:<font color=“LightYellow”>1,3,4</font>

A: 属性列表
B: 对象归档
C:SQLite和CoreData
D: 以上全体

答案:<font color=“LightYellow”>3</font>

A. if(str1 = str2) xxx ;
B. if([str1 isEqualToString:str2]) xxx ;
C. if(str1 && str2) xxx ;
D. if([str1 length] == [str2 length]) xxx;

  1. readwrite 是可读可写特性,要求扭转 getter方法和 setter 方法
  2. readonly 是只读性格,独有 getter 方法,未有 setter 方法
  3. assign 是赋值属性,setter 方法将盛传参数赋值给实例变量
  4. retain 代表全数性格,copy 属性表示拷贝属性,都会建设布局四个均等的对象

A. frame 是 bounds 的别名
B. frame 是 bounds 的继承类
C. frame 的法规是父视图坐标,bounds 的标准是自己的坐标
D. frame 的尺度是自己坐标,bounds 的尺度是父视图的坐标
(C)

答案:<font color=“LightYellow”>2</font>

int main(int argc, const char * argv[]) {

    NSMutableSet *set = [NSMutableSet setWithCapacity:3];

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

    [person1.name](http://person1.name) = @"Mark";


    person1.age = 1;

    [set addObject:person1];

    Person *person2 = person1;

    [person2.name](http://person2.name) = @"Mark";

    person2.age = 2;

    [set addObject:person2];
    Person *person3 = [[Person alloc] init];

    [person3.name](http://person3.name) = @"Mark";

    person3.age = 3;

    [set addObject:person3];

    NSEnumerator *e = [set objectEnumerator];

    Person *person;

    while (person = [e nextObject]) {
        // 2
        // 3
        NSLog(@"%d",person.age);
    }

    return 0;                                      
}
  1. NSArray
  2. float
  3. int
  4. NSString
  5. NSNumber
  6. NSInteger

A:readwrite是可读可写天性,须求生成getter方法和setter方法
B:readonly是只读个性,唯有getter方法,未有setter方法
C:assign是赋值属性,setter方法将盛传参数赋值给实例变量
D:retain代表全体性子,copy属性表示拷贝属性,都会树立三个同等的目的

表达:Copy是创立三个新对象,Retain是成立一个指南针,引用对象计数加1。
Copy属性表示两个指标内容千篇后生可畏律,新的指标retain为1 ,与旧有对象的援用计数非亲非故,旧有指标没有转换。copy减少对象对上下文的信赖。
Retain属性表示四个对象地址相仿(构建二个指南针,指针拷贝),内容生机勃勃致,那一个指标的retain值 1也正是,retain 是指针拷贝,copy 是内容拷贝

  1. [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
  2. [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithinterval:0.1]];
  3. [[NSThread currentThread]waitForTimeinterval:0.1];
  4. [NSThread sleepForTimeinterval:0.1];

3、试行上边代码后,NSLog的出口结果为:B

答案:<font color=“LightYellow”>2</font>

10、七十三十二线程中栈与堆是国有的要么个体的

NSString a[] = {@"abc", @"def"};NSArray *a = @[@"abc", @"def"];NSArray *a = [NSArray arrayWithObjects:@"abc", @"def"];NSArray *a = [NSMutableArray arrayWithArray:@[@"abc"]];

27、使用imageNamed方法创造UIImage对象时,与普通的init方法有怎么着分别? (C)

  1. NSArray *array = @[1, 2, 3]; NSNumber *number = array[3];
  2. NSDictionary *dict = @{@"key":nil};
  3. NSString *str = nil; NSString *str2 = [str substringFromIndex:3];
  4. NSString *str = @"hi"; NSString *str2 = [str substringFromIndex:3];

35 Object C中的线程上面描述不得法的是 B

只有主线程的NSRunLoop会默许运转,本人新起的线程,要团结手动调用RunLoop。这里新起了叁个线程,调用NSURubiconLConnection的异步方法,如若不设置RunLoop,则NSUSportageLConnection的delegate函数不会被运维,因为线程已经结束。在NSU奇骏LConnection的delegate方法中去设置finished_变量为YES,线程才会退出while循环而得了。

int main(int argc, const char * argv[]) {
    NSArray *mArray1 = [NSArray arrayWithObjects:[NSMutableString stringWithString:@"a"],@"b",@"c", nil];
    NSArray *mArrayCopy2 = [mArray1 copy];
    NSMutableArray *mArrayMCopy1 = [mArray1 mutableCopy];
    NSMutableString *testString = [mArray1 objectAtIndex:0]; 
    [testString appendString:@"1"];
    NSLog(@"%@,%@,%@",[mArray1 objectAtIndex:0],[mArrayCopy2 objectAtIndex:0],[mArrayMCopy1 objectAtIndex:0]); // a1,a1,a1
    return 0;
}

答案是 A
A 3, 131
B 330
C 431
D 430

答案:<font color=“LightYellow”>2</font>

int func(int x){
    int countx = 0;
    while (x) {
        countx  ;
        x = x&(x-1);
    }
    return countx;
}
int main(int argc, const char * argv[]){
    @autoreleasepool {
        NSLog(@"%d", func(2013));    
    }    
    return 0;
}
  1. 设置当前线程的运维格局
  2. 暂停当前线程风流倜傥段时间
  3. 在近些日子线程中举办一回音信轮询
  4. 安装当前线程的最大运行时刻

30、什么是key window? (C)

  1. UITapGestureRecognizer敲鼓掌势
  2. UIPanGestureRecognizer
  3. UIPinchGestureRecognizer
  4. UISwipeGestureRecognizer
  5. UIRotationGestureRecognizer
  6. UILongPressGestureRecognizer

A. 2
B. 8
C. 16
D. 32

UIView *gestureView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 300, 300)]; gestureView.backgroundColor = [UIColor blackColor]; [self.view addSubview:gestureView]; /*---------------点击手势-------------*/ UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc ] initWithTarget : self action : @selector (tap1Action:)]; //注意:一个点击手势,只能识别一种手势,单击和双击是不同的两个手势 //设置点击的数量 tap1.numberOfTapsRequired = 1 ; //设置点击的个数 tap1.numberOfTouchesRequired = 1 ; //往gestureView上添加一个手势 [gestureView addGestureRecognizer:tap1]; UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc ] initWithTarget : self action : @selector (tap2Action:)]; tap2.numberOfTapsRequired = 2 ; [gestureView addGestureRecognizer:tap2]; //如果参数中的手势出发了,则自身失效 [tap1 requireGestureRecognizerToFail:tap2]; /*---------------轻扫手势-------------*/ UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc ] initWithTarget : self action : @selector ]; // 设置方向---向上轻扫 swipeGesture. direction = UISwipeGestureRecognizerDirectionUp; [gestureView addGestureRecognizer:swipeGesture]; /*---------------平移手势-------------*/ // 平移手势 UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc ] initWithTarget : self action : @selector (panAction:)]; [gestureView addGestureRecognizer:panGesture]; /*---------------长按手势-------------*/ // 长按手势 UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc ] initWithTarget : self action : @selector (longPress:)]; //设置长安的最短时间 longPressGesture.minimumPressDuration = 3; [gestureView addGestureRecognizer:longPressGesture]; /*---------------旋转手势-------------*/ // 旋转手势 UIRotationGestureRecognizer *rotationGesture = [[UIRotationGestureRecognizer alloc ] initWithTarget : self action : @selector (rotation:)]; [gestureView addGestureRecognizer:rotationGesture]; /*----------捏合手势--------------*/ UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc ] initWithTarget : self action : @selector (pinchAction:)]; [gestureView addGestureRecognizer:pinch];}//单击- tap1Action:(UITapGestureRecognizer *)tap1{ NSLog;}//双击- tap2Action:(UITapGestureRecognizer *)tap2{ NSLog;}//轻扫- swipe:(UISwipeGestureRecognizer *)swipe{ if (swipe. direction == UISwipeGestureRecognizerDirectionUp) { NSLog(@" 向上清扫 "); }}//平移- panAction:(UIPanGestureRecognizer *)pan{ CGPoint p = [pan locationInView:pan.view]; NSLog( @"%@" , NSStringFromCGPoint;}//长按- longPress:(UILongPressGestureRecognizer *)longPress{ if (longPress. state == UIGestureRecognizerStateBegan) { NSLog(@" 开始长按 "); } else if (longPress. state == UIGestureRecognizerStateEnded) { NSLog(@" 结束长按 "); }}//旋转- rotation:(UIRotationGestureRecognizer *)rotation{ //获取旋转角度---弧度 CGFloat r = rotation.rotation; //弧度转角度 //180/Pi = x/r NSLog(@"r is %.2f", 180 / M_PI * r);}//捏合- pinchAction:(UIPinchGestureRecognizer *)pinch{ //获得捏合的比例 CGFloat scale = pinch.scale; // pinch.view.transform = CGAffineTransformScale(pinch.view.transform, scale, scale); pinch.view.transform = CGAffineTransformMakeScale(scale, scale); }

A、Runloop并非由系统活动调控的
B、有3类对象可以被run loop监控:sources,timers,observers
C、线程是暗中同意运维run loop的
D、NSTimer可手动加多到新建的NSRunLoop中

解析:
A:Runloop的职能在于当有事情要做时它使近些日子的thread事业,未有事情做时又使thread 休眠sleep。Runloop并非由系统自动控制的,特别是对那个新建的次线程须求对其张开显示的调节。
B:有3类对象足以被run loop监察和控制:sources、timers、observers。当这几个指标供给管理的时候,为了接收回调,首先必需经过 CFRunLoopAddSource ,CFRunLoopAddTimer 或许 CFRunLoopAddObserver 把这几个指标放入run loop。 要停下收取它的回调,能够经过CFRunLoopRemoveSource从run loop中移除某些对象。
C:每二个线程都有协调的runloop, 主线程是暗中同意开启的,制造的子线程要手动开启,因为NSApplication 只运行main applicaiton thread。
D:NSTimer暗中同意增添到当前NSRunLoop中,也得以手动制订增多到和睦新建的NSRunLoop的中。

  1. GCD 在后端管理着三个线程池
  2. NSOperationQueue 是对 NSThread 的越来越高层封装
  3. NSThread 须求团结处理线程的生命周期
  4. GCD 能够依照不相同优先级分配线程
  1. 堆和栈的不相同准确的是 D
  1. RunLoop 并非由系统自控的
  2. 有三类对象能够被 RunLoop 监控:sources,timers,observers
  3. 线程是暗中认可运营 RunLoop 的
  4. NSTimer 可手动增加到新建的 NSRunLoop 中

A range
B length
C type
D size

  1. if
  2. if(x < 0.00001f)
  3. if < 0.00001f) 或 if(Math.abs < 0.00001f)
  4. if(x > -0.00001f)
  1. iOS中的数据长久化情势()
    正确答案: D 你的答案: D (正确卡塔尔国

opaque 是 BOOL 型变量。假设要调动反射率,应该是 阿尔法 属性。

21-30 iOS

float 和 double 都是有精度限定,应该用 |x-0| < err 来剖断,这里 |x-0| 表示相对值,err 表示限制绝对误差。

A. @required
B. @optional
C. @interface
D. @protocol
(B)

  1. backgroundColor
  2. opaque
  3. transform
  4. contentStretch

A. 栈
B. 链表
C. 二叉树
D. 线性表

答案:<font color=“LightYellow”>3</font>

A. if(str1 = str2) xxx ;
B. if([str1 isEqualToString:str2]) xxx ;
C. if(str1 && str2) xxx ;
D. if([str1 length] == [str2 length]) xxx;
(B)

  1. RunLoop 的成效在于当有事情要做的时候它使当前的 thread 职业,未有专门的学业做时又使 thread 休眠 sleep。RunLoop 实际不是由系统活动调控的,尤其是对那一个新建的次线程须要对其开展体现的垄断(monopoly卡塔尔。
  2. 每三个线程都有友好的 RunLoop,主线程是暗许开启的,成立的子线程需求手动开启,因为 NSApplication 只运行 main application thread。
  3. NSTimer 暗中同意增添到当前的 NSRunLoop 中,也得以手动制订加多到谐和新建的 NSRunLoop 中

A: GCD在后端管理着贰个线程池
B: NSOperationQueue是对NSthread的更加高层的卷入
C: NSThread需求团结处理线程的生命周期
D: GCD能够依据分裂优先级分配线程

解析:
B是错的,NSOperationQueue是对GCD的越来越高层的卷入
C是对的。
// 伊始化线程
NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil];
// 设置线程的优先级(0.0 – 1.0,1.0最高档卡塔尔(قطر‎
thread.threadPriority = 1;
// 开启线程
[thread start];

  1. onmousemove
  2. onmousedown
  3. onmouseup
  4. onclick
  5. onmouseover

A: {self navigationController pushViewController:nextViewController animated:YES};
B: {self view addSubview:nextViewController.view};
C: {self presentModalViewController:nextViewController animated:YES};
D: {self pushViewController:nextViewController animated:YES};

解析:
A是navigationController包裹下的调节器才使用的跳转,不符合题意
B是加载叁个调整器的view,也是错的
C是IOS中的模态切换,切合题意,所以C是毫无疑问答案
D明显就是破绽百出的
A 的话须求 NavigationController
B 的话供给使用 ViewController 容器
D 也需要 NavigationController

答案:<font color=“LightYellow”>1</font>

A 进程和线程都以由操作系统所认识的程序运营的着力单元
B 线程之间有单独之处空间
C 进程和线程的重大差距在于它们是莫衷一是的操作系统能源管理艺术
D 线程有友好的库房和部分变量

assign 幸免循环征引

A、.c B、.cpp C、 .mm D、.m

-  start { if (![self isCancelled]) { connection_ = [[NSURLConnection alloc]initWithRequest:[NSURLRequest requestWithURL:download_url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:15] delegate:self]; if (connection_ != nil) { executing_ = YES; } else { finished_ = YES; } while (!finished_) { // 代码放入此处 } } else { finished_ = YES; }}

27、使用imageNamed方法成立UIImage对象时,与常常的init方法有如何分别?

NSString *a[] = {@"abc", @"def"};``NSArray *a = [NSArray arrayWithObjects:@"abc", @"def", nil];

29、在向来不navigationController的动静下,要从三个ViewController切换来另三个ViewController应该 (D)

答案:<font color=“LightYellow”>4</font>

A、#import和#include不能够勾兑使用
B、#import只用于引用Objective-C的公文,#include只用于引用C和C 文件
C、#import是#include的取代指令,幸免再一次援用
D、#import和#incline的行使效果完全相仿

答案:<font color=“LightYellow”>2,3,4,5</font>

A. cedba
B. acbed
C. decab
D. deabc

  1. cpp 文件只好使用 C/C 代码
  2. cpp 文件 include 的头文件中,能够现身 Objective-C 代码
  3. mm 文件中混用 cpp 直接采取就能够
  4. cpp 使用 Objective-C 的关键是使用接口,而不可能一向动用代码

39 对NSOperationQueue精通不科学的是 D

NSOperationQueue 是对 GCD 的更加高层封装

2、上面关于Object-C内部存款和储蓄器管理的叙说,错误的是(A)

答案:<font color=“LightYellow”>3</font>

A. n
B. 2n-1
C. 2n
D. n^2

  1. assign
  2. retain
  3. copy
  4. strong

A. init
B. isKindOfClass
C. responseToSelector
D. isMemberOfClass
(A)

答案:<font color=“LightYellow”>1,4,5</font>

26、UIViewController在浮现进程中,各样艺术的调用顺序是 (A)

  1. 录像播放应用
  2. 音乐播放应用
  3. 地理地方运用
  4. VoIP 应用
  5. 杂志音讯类要求立异内容的行使

24、上边关于线程管理不当的是

cpp 文件以致头文件都只好用 c/c 代码

ClassA *obj1 = [[[ClassA alloc] init] autorelease];
ClassA *obj2 = obj1;
[obj2 retain];
[obj1 release];
NSLog(@"%lu",(unsigned long)obj1.retainCount); // 1

答案:<font color=“LightYellow”>2,3,4</font>

A: {self navigationController pushViewController:nextViewController animated:YES};
B: {self.view addSubview:nextViewController.view};
C: {self presentModalViewController:nextViewController animated:YES};
D: {self pushViewController:nextViewController animated:YES};

解析:
A是navigationController包裹下的调整器才使用的跳转,不合乎题意
B是加载三个调整器的view,也是错的
C是IOS中的模态切换,切合题意,所以C是不易答案
D鲜明就是大谬否则的
A 的话须求 NavigationController
B 的话必要选拔 ViewController 容器
D 也需要 NavigationController

copy 是在数据类型表明时,选拔遵守 NSCopying 合同的才足以采用9大中央项目无法运用 retainNSInteger = long

继承、封装、多态 ?

9、上边八种内部排序算法中哪意气风发种在最差景况下时间复杂度最高(B)

张开一回音信轮询,监听线程是还是不是有音讯输入(default 情势),有就线程开头工作,未有就休眠。

9、以下五十八线程对int型变量x的操作,哪个没有必要展开协同: (D)

A. command1 && command2
B. command1 > command2
C. command1 & command2
D. command1 | command2
(D)

A. @interface SomeClass
B. @protocol SomeClass
C. @implementation SomeClass
D. @autorelease SomeClass

8、已知二叉树后序遍历系列是dabec,中序遍历连串是debac,它的前序遍历类别是

A.