【读书笔记】iOS-读取文本文件

一,文本文件的内容。

二,工程目录

三,ViewController.m

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //读取文本文件
    [self readFromText];
}
#pragma -mark -functions
//读取文本文件
-(void)readFromText
{
    NSError *error;
    NSString *textFieldContents=[NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"chenlihua" ofType:@"txt"] encoding:NSUTF8StringEncoding error:&error];
    NSLog(@"--textFieldContents---%@-----",textFieldContents);
    if (textFieldContents==nil) {
        NSLog(@"---error--%@",[error localizedDescription]);
    }
    NSArray *lines=[textFieldContents componentsSeparatedByString:@"\n"];
    NSLog(@"number of lines in the file:%ld",[lines count]);
}

四,输出如下图所示:

2015-07-29 22:12:32.692 读取文本文件[1362:70871] --textFieldContents---1
2
3
4
5
6
7
8
9
-----
2015-07-29 22:12:32.692 读取文本文件[1362:70871] number of lines in the file:10
2015-07-29 22:16:09.573 读取文本文件[1362:73057] Terminating since there is no system app.

参考资料:《iOS数据库应用高级编程(第2版)》

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 08:43:12

【读书笔记】iOS-读取文本文件的相关文章

读书笔记——IOS之Web开发

Web开发 读书笔记:http://www.mincoder.com/article/2576.shtml 主要的请求方法 Get请求:数据以明文在URL中,数据量小 Post请求:数据大小没有限制 HEAD请求:请求头信息 程序的实现需要借助几个对象: NSURLRequest:建立了一个请求,可以指定缓存策略.超时时间.和NSURLRequest对应的还有一个NSMutableURLRequest,如果请求定义为NSMutableURLRequest则可以指定请求方法(GET或POST)等信

[读书笔记]iOS与OS X多线程和内存管理 [GCD部分]

3.2 GCD的API 苹果对GCD的说明:开发者要做的只是定义想执行的任务并追加到适当的Dispatch Queue中. "Dispatch Queue"是执行处理的等待队列.通过dispatch_async函数等API,在Block语法中记述想执行的处理并追加到Dispatch Queue中,Dispatch Queue按照追加的顺序,执行处理. Dispatch Queue分为两种: 种类 说明 Serial Dispatch Queue 等待现在执行中处理结束(顺序执行) Co

[读书笔记]iOS 7 UI设计 对比度

好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的核心思想就是:-------->简洁.但在简洁的UI里面如何让用户发现当前界面的重点,对比度是我们最有力的工具. 对比度有下列四种用途 1.突出重点,淡化非重点 2.加强视觉效果 3.告诉用户哪里可以点击 4.增强文字可读性 举例说明,如图 这是一个简单的闹钟程序,先别着急往下看,先思考一下,这个界面在

[读书笔记]iOS与OS X多线程和内存管理 [Blocks部分-2]

2.3 Blocks的实现 2.3.1 Block的实质 通过命令"clang -rewrite-objc 文件名"能够将含有Block语法的源代码转换为C++源代码. 含有Block的源代码如下: #include <stdio.h>//不导入库文件无法运行 int main() { void(^testBlock)(void)=^{ printf("i am testBlock"); }; testBlock(); } 转换后的代码有五百行左右,这里

[读书笔记]iOS与OS X多线程和内存管理 [Blocks部分-3]

2.3.2 截获自动变量 通过转换后的源码可以发现,Block语法中使用的自动变量被作为成员变量追加到__main_block_impl_0结构体中,Block中没有使用的自动变量不会被追加,所以Block的变量截获只针对Block使用的自动变量. 源码: #include <stdio.h>//不导入库文件无法运行 int main() { int val1=0; int val2=10; void(^testBlock)(void)=^{ printf("i am testBlo

[读书笔记]iOS与OS X多线程和内存管理 [Blocks部分-4]

2.3.5 __block变量存储域 Block变量从栈复制到堆时对__block变量产生的影响 __block变量存储域 影响 栈 从栈复制到堆并被Block持有 堆 被Block持有 在多个Block中使用__block变量时,第一个Block从栈复制到堆时,__block变量也一并从栈复制到堆.在之后的Block从栈复制到堆时,__block变量被Block持有,__block变量引用计数增加.之前__block变量结构中的__forwarding能够做到"不管__block变量在栈上还是

[读书笔记]iOS与OS X多线程和内存管理 [Blocks部分-1]

第二章 Blocks 2.1 Blocks摘要 Blocks是C语言的扩充功能,是带有自动变量(局部变量)的匿名函数. Blocks保存自动变量的值. Blocks不是Objective-c独有的概念,在其他语言中(如Smalltalk或Ruby)也有对应的概念. 2.2 Blocks模式 2.2.1 Block语法 ^ 返回值类型 参数列表 表达式 返回值类型可以省略 ^ 参数列表 表达式 参数列表也可以省略 ^ 表达式 2.2.2 Block类型变量 可将Block语法赋值给声明为Block

编写高质量的iOS代码--Effective Objective-C 2.0 读书笔记

编写高质量的iOS代码--Effective Objective-C 2.0 读书笔记 这本书年初刷完,感觉不错,介绍了很多小点,都是平日不怎么关注的. 第1章 熟悉Objective-C 这章没什么好介绍 第1条:了解Objective-C语言的起源 第2条:在类的头文件中尽量少引入其他头文件 第3条:多用字面量语法,少用与之等价的方法 第4条:多用类型常量,少用#define预处理指令 要理解为啥要少用#define预处理指令. 然后具体用哪个, 自己定吧 第5条:用枚举表示状态.选项.状态

iOS 读书笔记 第一章

1.确定某个实例或类方法是否可用. 1)使用NSObject的类方法instancesRespondToSelector:来确定是否在该类的一个实例中存在一个特定的选择器. NSArray *array = @[@"1",@"2"]; if ([NSArray instancesRespondToSelector:@selector(sortUsingComparator:)]) { //do something use sortUsingComparator: }

iOS开发中的那些的约定俗成(1)————《编写高质量iOS与OS X代码的52个有效方法》读书笔记(第一章)

iOS开发中的那些的约定俗成(1) ----<编写高质量iOS与OS X代码的52个有效方法>读书笔记(第一章) 前言 "我要成为一个高产的开发人员.""想要混的好,就得多努力." 写这些东西是因为毕竟看了书,但是看书看过去之后,也许印象不是很深刻,有些东西现在也理解不了,那我就把我理解的,现在就可以用到的东西,简单的写出来就好,让自己今后看到就能明白其中的意思. 还有就是锻炼一下表达,编辑能力,慢慢的提升自己,随时随地的都要有一个锻炼的心. 最后当然就