在xcode中读取文本文件

时间:2012-07-07 01:35:50

标签: iphone xcode memory inheritance text

首先,我是一个完全的初学者。

这可能是一个愚蠢的问题,但在这里:

我目前正在开发一个App,而不是包含用户可以查看和阅读的拉丁文本。 我正在使用带有storybord功能的Xcode 4。 应用程序构建:用户选择作者 - 然后是书 - 然后应用程序显示文本。

我有点困惑,因为我需要有各种文本文件,具体取决于用户的选择。

1 个答案:

答案 0 :(得分:0)

正如我已经做过或者通常只是将文件嵌入为资源,并使用下面的代码我读出文件

<。>文件中的

-(NSString *)readFile:(NSString *)fileName;
<。>文件中的

-(NSString *)readFile:(NSString *)fileName

{
    NSLog(@"readFile");

    NSString *appFile = fileName;    
    NSFileManager *fileManager=[NSFileManager defaultManager];
    if ([fileManager fileExistsAtPath:appFile])        
    {
        NSError *error= NULL;
        NSString *resultData = [NSString stringWithContentsOfFile: appFile encoding: NSUTF8StringEncoding error: &error]; 
        if (error == NULL)            
            return resultData;
    }
    return NULL;
}

愿这会帮到你

享受编码:)

修改

我所做的是根据点击一次按钮的日期更改以及viewWillApper时我调用下面的功能

-(void)dateAndContentReload
{
    NSLog(@"dateAndContentReload");

    NSLog(@"Appdelegate Date: %@",appDelegate.dateSelected);
    self.currentDate = appDelegate.dateSelected;
    NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd MMMM yyyy"];
    NSString *dateString = [dateFormatter stringFromDate: appDelegate.dateSelected];

    self.navigationItem.title = dateString; 
    [dateFormatter setDateFormat: @"Myyyy"];
    NSString *dateComp = [dateFormatter stringFromDate: appDelegate.dateSelected];
    //NSLog(@"date : %@",dateString);
    NSString *data;
    NSString *path;

    if(![dateComp isEqualToString: @"12012"])
    {
        NSString *size = [NSString stringWithFormat: @"%f",appDelegate.size]  ; 
        NSLog(@"dateAndContentReload size: %f",appDelegate.size);

        data = @"<html><body><font size='";
        data = [data stringByAppendingString: size];
        data = [data stringByAppendingString: @"'><P>"];

        data = @"Data not Available for Current Date.";

        data = [data stringByReplacingOccurrencesOfString: @"\n" withString:@"<br>"];

        data = [data stringByAppendingString:@"</P></font></body></html>"];
    }
    else
    {
        [dateFormatter setDateFormat:@"MMMMd"];
        dateString = [dateFormatter stringFromDate: appDelegate.dateSelected];
        [dateFormatter release];
        NSLog(@"new Format: %@",dateString);

        path = [[NSBundle mainBundle] pathForResource: dateString ofType: @"txt"];
        data = nil;
        NSString *size = [NSString stringWithFormat: @"%f",appDelegate.size]  ; 
        NSLog(@"dateAndContentReload size: %f",appDelegate.size);

        data = @"<html><body><font size='";
        data = [data stringByAppendingString: size];
        data = [data stringByAppendingString: @"'><P>"];

        data = [data stringByAppendingString: [self readFile: path]];

        data = [data stringByReplacingOccurrencesOfString: @"\n" withString:@"<br>"];

        data = [data stringByAppendingString:@"</P></font></body></html>"];
    }

    [self.currentView loadHTMLString: data baseURL: nil];
}

基本上我读取文件并在UIWebView中显示为客户请求它。