网讯iOS笔试题

根据给定的信息“网讯iOS笔试题”,我们可以详细探讨与iOS开发相关的知识点,这些知识点主要来源于题目中的描述和部分内容。下面将对这些知识点进行详细的解析。 ### 1. iOS 应用程序启动流程 iOS应用程序的启动流程是通过`UIApplicationMain`函数来实现的。这个函数在应用程序的主函数中被调用,它接受四个参数:`int argc`, `char * argv[]`, `nil`, 和 `nil`。具体含义如下: - `int argc`: 命令行参数的数量。 - `char * argv[]`: 指向命令行参数的数组。 - 第三个`nil`: 通常为`nil`,用于指定代理类的名称,在此情况下,系统会自动查找名为`AppDelegate`的类作为代理。 - 第四个`nil`: 也通常为`nil`,表示应用的目标环境,如果为`nil`则默认为`UIApplicationMain`所定义的标准环境。 ### 2. `UIApplicationMain`函数详解 `UIApplicationMain`函数是iOS应用程序的主要入口点之一,它的主要作用是初始化和运行应用程序。当调用`UIApplicationMain`时,会执行以下操作: - 初始化`UIApplication`实例。 - 加载并设置`UIApplicationDelegate`实例(通常是`AppDelegate`)。 - 设置窗口,并将其连接到屏幕。 - 进入应用程序的主事件循环。 ### 3. 内存管理 内存管理是iOS开发中的一个关键概念。题目提到的`dealloc`方法是Objective-C中用于释放对象占用的内存的方法。在以下示例中: ```objective-c ClassA* obj1 = [[ClassA alloc] init]; ClassA* obj2 = obj1; [obj1 hello]; [obj1 dealloc]; [obj2 hello]; [obj2 dealloc]; ``` 这里需要注意的是,`obj1`和`obj2`指向同一个内存地址,因此当`obj1`被释放后,`obj2`仍然指向有效的内存区域。但是,一旦`obj2`也被释放,指向的内存就不再有效了。正确的做法是在使用完毕后释放对象,避免野指针问题。 ### 4. UIWebView的使用 `UIWebView`是一个可以加载和显示网页内容的视图组件。以下是如何创建和加载内容到`UIWebView`的示例代码: ```objective-c UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.frame]; NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://pzpromop.s3.amazonaws.com/PromoNeutral.html"]]; [webView loadRequest:request]; [self.view addSubview:webView]; ``` 这段代码首先创建了一个`UIWebView`实例,并设置了其显示的区域。接着创建了一个`NSURLRequest`请求对象,用来加载指定URL的内容。将`UIWebView`添加到父视图中。 ### 5. 图片加载方式 在iOS中,加载图片的方式有很多种,常见的包括: - 通过HTTP或FTP等协议从网络下载。 - 从本地资源文件加载。 - 使用第三方库如AFNetworking、SDWebImage等进行异步加载和缓存。 ### 6. `NSURL`和`NSData`的使用 `NSURL`用于表示统一资源定位符(URL),而`NSData`则用于表示任意类型的数据。在iOS开发中,可以通过以下方式使用这两个类: - 创建`NSURL`对象:`NSURL *url = [NSURL URLWithString:@"http://example.com"];` - 获取数据:`NSData *data = [NSData dataWithContentsOfURL:url];` ### 7. Objective-C的消息发送机制 Objective-C是一种面向对象的语言,它使用消息发送的方式来调用方法。例如,`[object method]`实际上是向`object`发送一个名为`method`的消息。 ### 8. 协议的实现 协议在Objective-C中用于定义一个接口,该接口声明了一组方法,但没有提供具体的实现。以下是一个简单的协议实现示例: ```objective-c @protocol SimpleProtocol <NSObject> - (void)doSomething:(NSString *)str; @end @interface SimpleClass : NSObject <SimpleProtocol> @end @implementation SimpleClass - (void)doSomething:(NSString *)str { NSLog(@"%@", str); } @end ``` 在这个例子中,`SimpleClass`实现了`SimpleProtocol`协议,并提供了`doSomething:`方法的具体实现。 ### 9. 导入头文件的不同方式 在Objective-C中,有几种不同的导入头文件的方式: - `#import "FileName.h"`:用于导入当前工程中的文件,编译器会确保该文件仅被导入一次,以避免重复导入的问题。 - `#include "FileName.h"`:通常用于导入系统框架或其他库中的文件,但它不支持去重功能。 - `@class ClassName;`:只声明一个类名,而不是导入整个头文件,这种方式在需要提前引用某个类但不需要访问其实现细节时非常有用。 以上就是基于给定信息中的知识点展开的详细解释。希望这些内容能够帮助读者更好地理解iOS开发中的关键概念和技术要点。














网讯IOS笔试题
答案是我自己的想法 仅供参考
1 程序在内存中运行时,内存分几个区?各自用途?
答:
栈区 由编译器自动分配释放存放函数的参数值,局部变量的值等。在高级语言中不需要显式的分配和释放
堆区 一般由程序员手动分配释放,如果不释放可有由OS释放。
数据区 存储全局和静态变量。初始化的全局和静态变量在一块区域,未初始化的放在相邻的一块区域,程序结束后由系统释放。
代码区 存放函数体的二进制代码。
2 引用与指针有什么区别?
答
引用是给变量起一个别名 也就是一个变量有两个名字 他们是同一块空间
指针是分配一块内存用来保存变量的地址 间接引用变量
3 int retVal = UIApplicationMain(argc, argv, nil, nil); 是什么意思?
答
对UIApplication对象进行了初始化,这个方法除了argc 和 argv 参数外,另外这个函数还有2个两个字符串参数来识别UIApplication类和UIApplication代理类,在这里默认是2个nil,第一个参数为nil就默认把UIApplication类作为缺省值进行初始化,可以在这里不填nil而是使用自己定义的UIApplication子类。至于第二个参数nil就设置为nil就把模板生成的HelloWorldAppdelegate类作为默认值。
4
5
6 保存一个变量到本地,列举两个简单的方法
答
直接写入writeToFile 支持NSString NSArray NSDictionary
实现NSCoding NSCopy 协议
7 如果UIView *view 已经实例化 在view 仅添加了N个UIButton类的实例,这些button不是全局的,并且button已经用tag区分开,如何快速找出其中指定的一个button改变它的某个属性?

- wwww___20102015-07-30不错,有参考价值
- ooneanother2013-11-18总结很好,很全面
- i2bac2013-04-04一共23道试题,内容还是不错的,有总结好的答案。

- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 人工智能生成发明可专利性及其权利归属.docx
- 基于DevOps理念的Pass平台实践-YY互娱.pdf
- 用plc实现交通灯和刀库的方案设计书.doc
- 计算机网络考试大纲.doc
- 电气自动化技术在电网建设中的应用1.docx
- 电子商务中的网络信息安全研究.docx
- 银行不良资产处置的互联网模式分析.docx
- 计算机技术在智慧农业中的应用研究.docx
- 人工智能四川省重点实验室项目申报书黄丹平.doc
- 工程项目管理课程方案常怡敏.doc
- 《VisualFoxPro数据库基础》第章:面向对象程序设计概念与入门.ppt
- 健康网络-远离网瘾主题班会幻灯片..ppt
- 通信工程本科四年制优秀教学计划.doc
- 2006年4月全国计算机等级历年考试三级信息管理笔试真题.doc
- 严肃游戏与社交媒体现状及未来展望
- 区块链技术在国网安全生产工作中的应用研究.docx


