芒果iOS开发面试题答案

2023-05-16

面试题答案总结

 

1.简述OC中内存管理机制

1.1 OC的内存管理机制是自动引用计数,内存管理的原则是谁开辟谁释放,有retain的地方就要有release

1.2 内存管理分为ARC和MRC,在MRC下我们需要手动管理内存,需要使用到retain/copy/release/autorelease等方法实现内存管理。ARC下则一般不需要我们手动管理,系统会在适当的位置加上内存管理关键字。

1.3 retain是引用计数+1, 在内存管理中, 要记得内存管理原则: 谁开辟谁释放, 有retain就要有release.  release是引用计数-1. alloc匹配的是dealloc, alloc是开辟内存空间, dealloc是销毁所开辟的内存, 有开辟就要有销毁.

 

2.readwrite,readonly,assign,retain,copy,nonatomic 、atomic、strong、weak属性的作用?

readWrite读写特性, 可读可写.

readonly只读, 只有getter, 没有setter.

assign一般用于基本数据类型和ID类型.

copy拷贝, 一般用于  NSString. 分为深拷贝和浅拷贝, 深拷贝拷贝的是对象, 浅拷贝拷贝的是指针. nonatomic非原子性, 不考虑线程安全, 优点是效率高.

atomic原子性, 有点是线程安全, 缺点是效率低.

strong强引用, 和MRC下的retain一样. weak弱引用, 类似MRC下的assign. 但是要注意的是strong和weak都是修饰对象类型的属性的, 不能修饰基本数据类型. ARC下仍然使用assign修饰基本数据类型. 

 

3.关于iOS多线程问题

仔细阅读:http://www.cocoachina.com/ios/20150731/12819.html

 

4.提升UITableView性能的几点建议

仔细阅读:http://www.cocoachina.com/ios/20150729/12795.html

 

6. 线程同步和异步的区别?

同步:一个线程要等待上一个线程执行完之后才能执行当前的线程,生活中的例子(上厕所)。

异步:同时去做两件或者多件事。比如边听歌边看报。

 

7.堆和栈的区别?

栈区(stack)--由编译器自动分配释放,存放函数的参数值、局部变量的值。先进后出

堆区(heap)--一般由程序员分配释放。先进先出

全局区(静态区)(static)--全局变量和静态变量。程序结束后由系统释放。         

文字常量区--常量字符串存放在这里。程序结束后由系统释放。         

程序代码区—存放函数体的二进制文件。

 

8.  iOS类是否可以多继承?

不可以,可以通过delegate和protocol和类别来实现类似多继承。

 

9.iOS本地数据存储都有哪几种方式?iOS如何实现复杂对象的存储?

1. Write写入方式:永久保存在磁盘中。但是只支持NSString、NSData、NSArray、NSDictionary。    2.NSKeyedArchiver(归档)采用归档的形式来保存数据,该数据对象需要遵守NSCod-ing协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。

3.SQLite(FMDB)注意FMDB不是数据库, 而是一个SQLITE管理框架. 

4.CoreData切记coredata不是数据库, 他的存储核心思想是托管对象, 只是咱们经常用的存储文件为SQLite.还可以用XML, 二进制等方式.

 

10.iOS的动态性 

 1.动态类型。 如id类型。实际上静态类型因为其固定性和可预知性而使用得更加广泛。静态类型是强类型,而动态类型属于弱类型。运行时决定接收者。

2. 动态绑定。让代码在运行时判断需要调用什么方法,而不是在编译时。与其他面向对象语言一样,方法调用和代码并没有在编译时连接在一起,而是在消息发送时才进行连接。运行时决定调用哪个方法。

3. 动态载入。让程序在运行时添加代码模块以及其他资源。用户可以根据需要加载一些可执行代码和资源,而不是在启动时就加载所有组件。可执行代码中可以含有和程序运行时整合的新类。

 

11.深拷贝和浅拷贝的理解?

深拷贝拷贝的是内容,浅拷贝拷贝的是指针。深拷贝和浅拷贝最大的区别就是子类对象的地址是否改变,如果子类对象的地址改变那么就是深拷贝。

 

12.什么是安全释放

在对象dealloc中release之后再把指针置为nil

 

13.怎样实现一个singleton。

+ (ZMYSingleton *) sharedInstance {

     static LOSingleton *sharedInstance = nil ;

    static dispatch_once_t onceToken;  // 锁

   dispatch_once (& onceToken, ^ {

      // 最多调用一次       

    sharedInstance = [[ZMYSingleton  alloc] init];  

});   

return  sharedInstance;

}

 

13.RunLoop是什么?

一个RunLoop就是一个事件处理的循环,用来不停的调度工作以及处理输入时间。使用runloop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。runloop的设计是为了减少cpu无谓的空转。每个开辟的线程都有一个Runloop, 主线程的Runloop时默认开启的, 咱们手动开辟的子线程Runloop是默认不开启的, 如果需要开启, 需要调用API[[NSRunloop  currentRunloop] run]开启.最常见的需要开启Runloop的是在子线程里面调用计时器(NSTimer), 如果不开启runloop循环方法就不能正常执行.

 

14.写一个标准宏MIN,这个宏输入两个参数并返回较小的一个?

#define kMIN(X,Y)  ((X) > (Y)) ? (Y) :(X) 

 

15.简述应用程序按Home键进入后台时的生命周期,以及从后台回到前台时的生命周期?

进入后台生命周期走:   

- (void)applicationWillResignActive:(UIApplication*)application;  

- (void)applicationDidEnterBackground:(UIApplication*)application;  

回到前台生命周期走:   

- (void)applicationWillEnterForeground:(UIApplication*)application;  

- (void)applicationDidBecomActive:(UIApplication*)application;

 

16.ViewController的loadView, viewDidLoad,viewWillAppear,viewDidUnload,dealloc、init分别是在什么时候调用的?在自定义ViewController的时候这几个函数里面应该做什么工作?

loadView:没有正在使用nib视图页面,子类将会创建自己的自定义视图层

viewDidLoad:试图被加载后调用

viewWillAppear:试图即将出现的时候调用

viewDidUnload:<iOS6之后废弃>当系统内存吃紧的时候会调用该方法,释放掉当前未在window中显示的试图和对应的控制器

 

17.描述应用程序的启动顺序。

1、程序入口main函数创建UIApplication实例和UIApplication代理实例

2、在UIApplication代理实例中重写启动方法,设置第一ViewController

3、在第一ViewController中添加控件,实现对应的程序界面。

 

18.为什么写代理的属性都是assign而不是retain?请举例说明。

防止循环引用,

Teacher *teacher=[[Teacher alloc] init];

Student * student=[[Student alloc] init];t

eacher.delegate=student;

student.delegate= teacher;

在teacher中dealloc会release当前的Delegate,就会触发student对象release,继而也会导致student执行dealloc,在student中也会release自己的delegate,产生循环了。

 

19.UIImage初始化一张图片有几种方法?简述各自的优缺点。

1、从资源读取 , 这个方法的图片是从缓存里面获取的, 先在缓存里面查看是不是有这个图片, 没有的话将图片添加进缓存再使用. 有的话直接使用缓存里面的. 如果这张图片用的次数比较多的话, 建议使用这种方式. 缺点是效率低下.UIImage *image = [UIImage imageNamed:@”1.png”];

2 .从手机本地读取, 比较第一种方式, 这个事直接加载图片的. 所以建议在图片使用率低的图片时 使用这个方法.  //读取本地图片非resourceNSString *aPath3=[NSString stringWithFormat:@"%@/Documents/%@.jpg",NSHomeDirectory(),@"test"];[UIImage imageWithContentsOfFile:aPath3]

 

20.这段代码有什么问题吗:

@implementation Person

- (void)setAge:(int)newAge {

         self.age = newAge;

}

@end

死循环

 

21.用OC写一个冒泡排序

 NSMutableArray *array = [NSMutableArray arrayWithArray:@[@"3",@"1",@"10",@"5",@"2",@"7",@"12",@"4",@"8"]];

    for (int i = 0; i < array.count; i ++) {

        for (int j = 0; j < array.count  - 1 - i; j++) {

            if([[array objectAtIndex:j] integerValue] > [[array objectAtIndex:j + 1] integerValue]) {

               [array exchangeObjectAtIndex:j withObjectAtIndex:j + 1];

           }

       }

   }

    NSLog(@"%@", array);

 

22.简述你对UIView、UIWindow和CALayer的理解

UIView继承于UIResponder, UIResponder继承于NSObject,UIView可以响应用户事件。

CALayer继承于NSObject,所以CALayer不能响应事件。 UIView构建界面,UIView侧重于对内容的管理,CALayer侧重于对内容的绘制。 UIView是用来显示内容的,可以处理用户事件;CALayer是用来绘制内容的,对内容进行动画处理,依赖与UIView来进行显示,不能处理用户事件。

 

23.frame和bounds区别:

仔细阅读:http://blog.csdn.net/mad1989/article/details/8711697

 

24.写一个完整的代理

 

25.分析json、xml的区别?json、xml解析方式的底层是如何处理的?

XML是标准通用标记语言 (SGML)的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。   

JSON(JavaScriptObject Notation)一种轻量级的数据交换格式,具有良好的可读                                 和便于快速编写的特性。可在不同平台之间进行数据交换。JSON采用兼容性很高的、完全独立 于语言文本格式,同时也具备类似于C语言的习惯(包括C,     C++, C#, Java, JavaScript, Perl,Python等)体系的行为。这些特性使JSON成为理想 的数据交换语言。

 

26.ViewController 的 didReceiveMemoryWarning 是在什么时候被调用的?默认的操作是什么?

didReceiveMemoryWarning在出现内存警告的时候执行该方法,在该方法里面释放掉暂时没使用的可重用的对象。这个方法不能手动调用.

 

27.面向对象的三大特征,并作简单的介绍

封装、继承、多态。

封装:是把客观事物封装成抽象的类,隐藏内部的实现,对外部提供接口。

继承:可以使用现有类的所有功能,并且在无需重新编写原来的类的情况下对这些功能进行扩展。

多态:不同的对象以自己的方式响应相同的的消息的能力叫做多态,或者说父类指针指向子类对象<如UITableView的,cellForRow方法,返回值类型是UITbaleViewCell,但是你返回的cell可以是你自定义的cell,在比如多个类里面都有同一个方法>

 

28.简单说一下懒加载

懒加载,又称为延迟加载。通常用法,你有一个UITextField类 型的property,简单定义为userNameTextField,但是你不在初始化方法里为其alloc/init,它就只是一个指针,不会占用内 存。在访问器里判断此property的指针是否为空,若为空,就alloc/init,这时才真正生成这个对象除非这个对象被使用,否则它永远不会真正 生成,也就不会占用内存。

 

29.分别描述类目(categories)和延展(extensions)是什么?以及两者的区别?继承和类目在实现中有何区别?为什么Category只能为对象添加方法,却不能添加成员变量?

category类目:在不知道源码的情况下为一个类扩展方法,

extension:为一个类声明私有方法和变量。 继承是创建了一个新的类,而类别只是对类的一个扩展,还是之前的类。 类目的作用就是为已知的类添加方法。

 

30. #import、#include和@class有什么区别

#include c语言中引入一个头文件,但是可能出现交叉编译,

OC里面已经没有这个方式引入头文件了, 统一使用#import

#import在OC中引入自己创建的头文件

#import””是引入自己创建类的头文件

#import<>是引入系统类的头文件

#import不会出现交叉编译

@class对一个类进行声明,告诉编译器有这个类,但是类的定义什么的都不知道.

 

31.谈谈你对MVC的理解?为什么要用MVC?在Cocoa中MVC是怎么实现的?你还熟悉其他的OC设计模式或别的设计模式吗?

MVC是Model-VIew-Controller,就是模型-视图-控制器, MVC把软件系统分为三个部分:Model,View,Controller。在cocoa中,你的程序中的每一个object(对象)都将明显地仅属于这三部分中的一个,而完全不属于另外两个。model数据模型,view是对这些数据的显示,viewcontroller就是把model拿到view中显示,起到model和view之间桥梁的作用。MVC可以帮助确保帮助实现程序最大程度的可重用性。各MVC元素彼此独立运作,通过分开这些元素,可以构建可维护,可独立更新的程序组建, 提高代码的重用性.

单例模式,delegate设计模式,target-action设计模式

 

32.字符串替换方法:

[string stringByReplacingOccurrencesOfString:@"png" withString: @""]

 

33.对于语句NSString* testObject = [[NSData alloc] init];        testObject 在编译时和运行时分别是什么类型的对象?

编译的时候是NSString类型,运行的时候是NSData类型

 

34.什么是沙盒(sandbox)?沙盒包含哪些文件,描述每个文件的使用场景。如何获取这些文件的路径?如何获取应用程序包中文件的路径?

iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。 默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。 Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录 Library:存储程序的默认设置或其它状态信息;

Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出删除

tmp:提供一个即时创建临时文件的地方。

iTunes在与iPhone同步时,备份所有的Documents和Library文件。

iPhone在重启时,会丢弃所有的tmp文件。

 

35.    isKindOfClass、isMemberOfClass作用分别是什么?

-(BOOL) isKindOfClass: classObj判断是否是这个类或者是这个类子类的实例

-(BOOL) isMemberOfClass: classObj 判断是否是这个类的实例

36.http://blog.csdn.net/huifeidexin_1/article/details/7566226

37. UITableView –UIScrollView – UIView – UIResponder - NSObject 

 

答:Grand Central Dispatch简称GCD 解决多核并行运算的一种方案

看代码就行:

//  Grand CentralDispatch简称GCD技术

   

// Do any additional setup after loading the view.

   

//   dispatch_queue_t newDispath =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

//   dispatch_async(newDispath, ^{

//        [selfdownloadImage];

//    });

   

//   #defineDISPATCH_QUEUE_PRIORITY_HIGH 2

//    #defineDISPATCH_QUEUE_PRIORITY_DEFAULT  0

//   #defineDISPATCH_QUEUE_PRIORITY_LOW (-2)

//   #defineDISPATCH_QUEUE_PRIORITY_BACKGROUNDINT16_MIN

   

   

   

   

   /*dispatch queue分为下面三种:

    * Serial:又称为private dispatch queues,同时只执行一个任务。Serial queue通常用于同步访问特定的资源或数据。当你创建多   个        Serial queue时,虽然它们各自是同步执行的,但Serial queue与Serial queue之间是并发执行的。

    * Concurrent: 又称为global dispatch queue,可以并发地执行多个任务,但是执行完成的顺序是随机的。

    * Main dispatchqueue它是全局可用的serial queue,它是在应用程序主线程上执行任务的

    */

   

   //  一般GCD 可以如下操作

   

  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{

        // 耗时的操作

      dispatch_async(dispatch_get_main_queue(), ^{

            // 更新界面

        });

    });

   

   [selfexampleDispatch];

   

    /*

     *系统给每一个应用程序提供了三个concurrent dispatch queues。

     *这三个并发调度队列是全局的,它们只有优先级的不同。

     *因为是全局的,我们不需要去创建。我们只需要通过使用函数dispath_get_global_queue去得到队列

     */

   

   dispatch_queue_tglobalQ =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);

   

   NSLog(@"global:%p",globalQ);

   dispatch_queue_t mainQ =dispatch_get_main_queue();

    NSLog(@"mainQ:%p",mainQ);

    /*

     *虽然dispatch queue是引用计数的对象,但是以上两个都是全局的队列,不用retain或release。

     */

   

   

   

    /*

    *dispatch_group_async可以实现监听一组任务是否完成,完成后得到通知执行其他的操作。

     *这个方法很有用,比如你执行三个下载任务,当三个任务都下载完成后你才通知界面说完成的了。

     */

    timeInt = 0;

   [NSTimerscheduledTimerWithTimeInterval:1

                                    target:self

                                 selector:@selector(checkingTime)

                                  userInfo:nil

                                  repeats:YES];

   [selfexampleDispath_group];

   

   

  /*dispatch_barrier_async的使用

    *dispatch_barrier_async是在前面的任务执行结束后它才执行,而且它后面的任务等它执行完成之后才会执行

     */

   

   [selfexampleDispatch_barrier];

   

   

   /*dispatch_apply

     *执行某个代码片段N次。

     */

   dispatch_apply(5, globalQ, ^(size_t index) {

        // 执行5次

    });

39. 该问题涉及编译器的“内存对齐”问题: 

现代计算机中内存空间都是按照byte(字节)划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。   

对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台的要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为 32位)如果存放在偶地址开始的地方,那么一个读周期就可以读出,而如果存放在奇地址开始的地方,就可能会需要2个读周期,并对两次读出的结果的高低字节进行拼凑才能得到该int数据。显然在读取效率上下降很多。这也是空间和时间的博弈。

通常,我们写程序的时候,不需要考虑对齐问题。编译器会替我们选择适合目标平台的对齐策略。当然,我们也可以通知给编译器传递预编译指令而改变对指定数据的对齐方法。 

但是,正因为我们一般不需要关心这个问题,所以因为编辑器对数据存放做了对齐,而我们不了解的话,常常会对一些问题感到迷惑。最常见的就是struct数据结构的sizeof结果,出乎意料。 

对于结构体来说,按成员中所占字节最大的是float类型,占用4个字节,一共有3个成员,所以总的占用字节为:4 * 3 = 12.       可通过编译器命令来设定:       

#progma pack (2)   

 

40.TCP:Transmission Control Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。 UDP是User Datagram Protocol的简称,中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。   

面向连接:是指通信双方在通信时,要事先建立一条通信线路,其有三个过程:建立连接、使用连接和释放连接。电话系统是一个面向连接的模式,拨号、通话、挂机;TCP协议就是一种面向连接的协议。 

面向无连接:是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)送到线路上,由系统自主选定路线进行传输。邮政系统是一个无连接的模式,天罗地网式的选择路线,天女散花式的传播形式;IP、UDP协议就是一种无连接协议。

 

41. 注意问的是应用层协议,有些同学直接答了七层模型。 

      在开放系统互连(OSI)模型中的最高层,为应用程序提供服务以保证通信,但不是进行通信的应用程序本身。   

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。   

FTP文件传输协议是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。

超文本传输协议 (HTTP-Hypertext transfer protocol) 是分布式,协作式,超媒体系统应用之间的通信协议。是万维网(world wide web)交换信息的基础。   

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式,它帮助每台计算机在发送或中转信件时找到下一个目的地。   

时间协议(TIME protocol)是一个在RFC 868内定义的网络协议。它用作提供机器可读的日期时间资讯。

 

  DNS是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库。   

SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。   

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

 

42.static关键字的作用

静态全局变量

优点:

1、节省内存。静态变量只存储一处,但供所有对象使用。

2、它的值是可以更新的。

3、可提高时间效率。只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。

 

43.iOS系统框架分为几层,分别是什么

  

 1、Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为app开发者不需要与这一层打交道。

      2、Core Services是核心服务层,可以通过它来访问iOS的一些服务。

      3、Media是媒体层,通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。 

      4、Cocoa Touch是可触摸层,这一层为我们的应用程序开发提供了各种有用的框架,并且大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

芒果iOS开发面试题答案 的相关文章

  • 基于STM32F429,Cubemx的SDHC卡的基本Fatfs文件移植

    本博文要求各位初步了解Fatfs文件系统 友情提示Fatfs官网 xff1a http elm chan org fsw ff 00index e html 1 开发软件 keil5 Cube5 21 2 实验目的 往SDHC卡上移植Fat
  • 详解equals()方法和hashCode()方法

    前言 Java的基类Object提供了一些方法 xff0c 其中equals 方法用于判断两个对象是否相等 xff0c hashCode 方法用于计算对象的哈希码 equals 和hashCode 都不是final方法 xff0c 都可以被
  • 对本课程的期望以及教学建议

    本学期我们学的c程序更加难了上学期c语言我是压线过的 xff0c 我希望这个学期我能把以前学的知识好好再看看然后总结下来 xff0c 我终于明白了多编程是有多么重要 xff0c 这学期我的电脑一定要派上用场 老师讲课跟以往的不同 xff0c
  • centos 6.3 使用 vnc xrdp 远程登陆 不断弹出对话框“ Authentication is required to set the network proxy used for...

    参考国外解决方案 xff1a 1 cd 进入 etc xdg autostart 2 在该目录下的所有文件的末尾添加 X GNOME Autostart enabled 61 false 3 注意 如果文件中已经的值设置为true xff0
  • 【深度学习】在Caffe中配置神经网络的每一层结构

    前言 层结构 xff0c 是神经网络 Neural Networks 建模和计算的最基本单元 由于神经网络有不同的层结构 xff0c 不同类型的层又有不同的参数 所以 xff0c 对Caffe的每一层配置都不一样 xff0c 而层结构和参数
  • nyoj239 月老的难题 二分图 匈牙利算法

    月老的难题 时间限制 xff1a 1000 ms 内存限制 xff1a 65535 KB 难度 xff1a 4 描述 月老准备给n个女孩与n个男孩牵红线 xff0c 成就一对对美好的姻缘 现在 xff0c 由于一些原因 xff0c 部分男孩
  • iOS开发之键盘类型UIKeyboardType

    UIKeyboardTypeDefault xff1a UIKeyboardTypeASCIICapable xff1a UIKeyboardTypeNumbersAndPunctuation xff1a UIKeyboardTypeURL
  • 转:Maven常用命令

    Maven库 xff1a http repo2 maven org maven2 Maven依赖查询 xff1a http mvnrepository com Maven常用命令 xff1a 1 创建Maven的普通java项目 xff1a
  • 外派公司或者外包公司,真的适合选择吗?

    外派公司是什么 任何公司如果需要用人 xff0c 不论需要什么样的人 xff0c 都可以从外派公司要人 xff0c 用几个月 xff0c 给外派公司几个月的钱 xff0c 管理非常方便灵活 xff0c 不需要考虑长期的员工福利和培养问题 x
  • 对新课程的期望

    我希望在这节课上学到更多技术相关的东西 xff0c 我自己希望通过这学期的学习能过自己写出一个像样点的网站 我计划每周花19小时的时间在这门课上其中包括每周的上课时间两次一共4个小时 xff0c 回到宿舍在每天的6 9点的三个小时进行学习
  • 函数模板和类模板成员函数的定义通常放在头文件中

    今天写程序时 xff0c 将函数模板的声明和定义分开放在头文件和 cpp文件中 xff0c 发生了连接错误 上网查看资料和查看 C 43 43 PRIMER 5 P582发现 xff0c xff1a 函数模板和类模板成员函数的定义通常放在头
  • 虚拟机防火墙关了怎么端口还是不能访问

    今天虚拟机启动时候发现网站不能访问了 xff0c 先在本地ping了下地址 xff0c 发现是可以ping通的 xff1b 然后telnet下 80 端口 xff0c 发现进不去 然后在虚拟机上面启动apache xff0c 发现不能访问
  • T84341 Jelly的难题1

    T84341 Jelly的难题1 题解 当窝发现窝的锅在读入这个矩阵的时候 xff0c 窝 窝 窝 果然 xff0c 一遇到和字符串有关的题就开始吹空调 好啦我们说说思路吧 BFS队列实现 拿出一个没有走过的点 xff0c 扩展它可以达到的
  • strtok(), strtok_s() 字符串分割函数

    strtok 函数原型 Check return CRT INSECURE DEPRECATE strtok s CRTIMP char cdecl strtok Inout opt z char Str In z const char D
  • iOS网络——NSURLCache设置网络请求缓存

    今天在看HTTP协议 xff0c 看到了response头中的cache control xff0c 于是就深入的研究了一下 发现了iOS中一个一直被我忽略的类 NSURLCache类 NSURLCache NSURLCache用于缓存网络
  • Maven 教程4-常用dos命令

    常用dos命令 mvn compile 编译mvn clean 清理mvn package 打包mvn package Dmaven test skip 61 true 跳过测试打包mvn package Dmaven test skip
  • Docker笔记

    lxc xff1a LinuX Container chroot xff0c 根切换 xff1b namespaces xff1a 名称空间 CGroups xff1a 控制组 简单使用 xff1a lxc checkconfig xff1
  • 芒果iOS开发之创建pch文件

    在Xcode6之前 xff0c 创建一个新工程xcode会在Supporting files文件夹下面自动创建一个 工程名 Prefix pch 文件 xff0c 也是一个头文件 xff0c pch头文件的内容能被项目中的其他所有源文件共享
  • HDU 1085

    题意 xff1a 有1 2 5三数 xff0c 你赋予他们各自的数量 xff0c 求他们所不能组成的最小数 分析 xff1a 首先想到暴力 xff0c 两层循环 暴力超时 xff0c 再寻他法 O n 2 include 34 cstdio
  • 谈谈对事件的理解(持续更新中)

    谈谈对事件的理解 xff1a 从前有一家人 xff0c 我们称为window家 window他其中有一个儿子叫事件 事件 事件他有很多好基友 xff0c 每次发生什么事情都会找到事件 xff0c 叫他帮忙查看一下那些细节出现了问题 可是事件

随机推荐

  • SSIS组件转换_排序、合并、合并联转换

    一 排序转换 xff08 Sort xff09 排序转换功能是按升序或降序对输入流中的数据进行排序 并将排序后的数据复制到转换输出中 它类似于T SQL中的order by 语句 下面以数据库AdventureWorks为例来介绍一下排序转
  • MariaDB 单表查询与聚合(5)

    MariaDB数据库管理系统是MySQL的一个分支 主要由开源社区在维护 采用GPL授权许可MariaDB的目的是完全兼容MySQL 包括API和命令行 MySQL由于现在闭源了 而能轻松成为MySQL的代替品 在存储引擎方面 使用Xtra
  • 详解python linecache模块读取文件的方法 分类: python...

    本节主要内容 xff1a python linecache模块读取文件 在python中 xff0c 有个好用的模块linecache xff0c 该模块允许从任何文件里得到任何的行 xff0c 并且使用缓存进行优化 xff0c 常见的情况
  • 【ubuntu】ubuntu安装WPS出现系统缺失字体

    ubuntu安装WPS出现系统缺失字体 1 官网下载WPS http community wps cn download 2 双击安装或者命令行安装 3 安装好后出现系统缺失字体问题 解决 xff0c 下载 xff1a https pan
  • 歪国人DIY的MINI四轴

    歪国人DIY的MINI四轴 Crazyflie 2 0 自己仿Crazyflie CrazyPony 转载于 https www cnblogs com LittleTiger p 4699001 html
  • Linux系统-CENTOS7界面美化

    前期准备 xff1a 在美化前 我们先安装一个扩展源 yum install y epel release 然后安装字体包 yum y install liberation mono fonts 安装gnome menis标准菜单实现 通常
  • [原创]Python+selenium+Chrome爬取excel网站

    最近要写一个水利网站的爬虫脚本 xff0c 将网页中2个excel的数据 xff0c 爬到一个excel表里 恩 xff0c 就是下面的网页截图 xff0c 一左一右两张表 左边日期控件 xff0c 输入对应日期查询相应日期的数据 看到这么
  • el-select绑定值为对象时,报错[Vue warn]: <transition-group> children must be keyed: <ElTag>...

    解决方法 xff1a lt el select v model 61 34 syncParams toSlaveList 34 multiple value key 61 34 ip 34 placeholder 61 34 请选择 34
  • iOS开发零基础教程之真机调试流程

    本讲主要内容 xff1a 1 真机测试前准备工作 2 第一步创建App ID 3 第二步创建开发证书Development Certificate 4 第三步打开本地钥匙串创建CSR文件 5 第四步添加设备 6 第五步创建描述文件 7 第六
  • OVN简介

    三 OVN入门 3 1 OVN简介 Open vSwitch xff08 OVS xff09 是一款开源的 虚拟交换机 xff0c 控制协议方面它不但支持OpenFlow的所有特性而且扩展了部分OpenFlow的功能 xff1b Overl
  • 压缩 质量不变_项目启动后客户要求压缩工期,该如何处理?

    点击蓝字关注我们 马先生 首先 xff0c 项目经理应了解这种要求的合理性和必要性 xff0c 如果甲方确实有充分和充足的需要 xff0c 再进行如下工作 xff1a 1 组织项目团队认真分析赶工的可行性 xff0c 如果可行 xff0c
  • 第八章 让开发板发出声音,蜂鸣器驱动 心得体会

    第8章让开发板发出声音 xff0c 蜂鸣器驱动 心得体会 通过学习Android深度探索 卷1 HAL与驱动开发的第8章 让开发板发出声音 xff0c 蜂鸣器驱动 xff0c 我加深对驱动的认识 以下主要是我对本节实验和参考在Linux驱动
  • 连接到CentOS(Linux)服务器ssh、mysql缓慢

    现象 xff1a 服务器163与服务器164在同一机柜 xff0c 双绞线直接连接 xff0c 从办公室或者服务器163去连机服务器164的ssh mysql均缓慢 xff0c 让机房人员查了 xff0c 无果 而164却正常 最后发现两个
  • vs 下调试 引用的DLL源码

    在开发时 xff0c 可以经常引用带源码的DLL xff0c 但有时可以又要跟踪到源码里 解决 xff1a 1 引用Debug目录下的DLL xff0c 不要引用Release目录下的DLL 当然被引用的DLL项目 xff0c 要在Debu
  • 从SDN鼻祖Nicira到VMware NSX 网络虚拟化平台的简单探讨

    以前的大二层技术 xff0c 一般是在物理网络底层使用IS IS路由技术 xff0c 再在此基础之上 xff0c 实现数据中心网络的二层扩展 xff0c 如公有的Trill SPB技术和Cisco私有的OTV Fabricpath技术 xf
  • 使用mysqladmin命令修改Mysql密码

    1 例如你的 root用户现在没有密码 xff0c 你希望的密码修改为123456 xff0c 那么命令是 xff1a mysqladmin u root password 123456 2 如果你的root现在有密码了 xff08 123
  • pyqt5——菜单和工具栏

    菜单和工具栏 这个章节 xff0c 我们会创建状态栏 菜单和工具栏 菜单是一组位于菜单栏的命令 工具栏是应用的一些常用工具按钮 状态栏显示一些状态信息 xff0c 通常在应用的底部 主窗口 QMainWindow提供了主窗口的功能 xff0
  • linux cuda安装目录,ubuntu16.04上的cuda安装、卸载以及替换

    以cuda9 0为例 xff1a 安装 首先 xff0c 下载对应版本的cuda的运行脚本 xff0c 我下载的是cuda 9 0 176 384 91 linux run 1 运行脚本文件sudo sh cuda 9 0 176 384
  • C++软件工程师,你该会什么?

    请尊重原创 转载注明来源 原创在这里哦 C语言广泛用于基础软件 桌面系统 网络通信 音频视频 游戏娱乐等诸多领域 是世界上使用最广泛的编程语言之一 随着物联网技术的发展 xff0c C C 43 43 技术在3G 网络通信 xff08 移动
  • 芒果iOS开发面试题答案

    面试题答案总结 1 简述OC中内存管理机制 1 1 OC的内存管理机制是自动引用计数 xff0c 内存管理的原则是谁开辟谁释放 xff0c 有retain的地方就要有release 1 2 内存管理分为ARC和MRC xff0c 在MRC下