为什么我的应用程序找不到我的plist文件?

时间:2014-11-30 02:39:16

标签: ios plist

这是我在这里发布的第一个问题,对此我是新手,所以请保持温和。 : - )

我正在使用Xcode 6.1

我的项目显示了这些文件夹:

TodoList的 ToDoListTests 构架 产品

![在此处输入图片说明] [1]

我使用File-> New-> IOS / Resource-> Property List手动创建了一个plist文件,并将其命名为ToDoListData.plist

plist位于ToDoList文件夹中,包含我的源文件。

![在此输入图片说明] [2]

我使用此代码将文件读入名为toDoItems的NSMutableArray,但有2个问题。

  1. 未找到plist文件 - >在Xcode中,我需要在哪个/哪个文件夹放置plist,以便它最终位于模拟器中的文档文件夹中,以便找到它?

  2. toDoItems变量未被使用 - 不知道为什么,因为我认为代码是假设从plist读取值到可变数组toDoItems

  3. 希望我能够清楚地传达这个问题。 (我被困了4个小时)

    感谢您的帮助。

    - (void)loadInitialData
    {
    
    //    JNMToDoItem *item1 = [[JNMToDoItem alloc] init];
    //    item1.itemName = @"Buy milk";
    //    [self.toDoItems addObject:item1];
    //
    //    JNMToDoItem *item2 = [[JNMToDoItem alloc] init];
    //    item2.itemName = @"Buy eggs";
    //    [self.toDoItems addObject:item2];
    //    
    //    JNMToDoItem *item3 = [[JNMToDoItem alloc] init];
    //    item3.itemName = @"Read a book";
    //    [self.toDoItems addObject:item3];
    
    
        [self loadData];
    
    }
    
    
    
    
    
    -(void)loadData
    {
    
        NSString *plistPath = [self getFilePath];
    
        BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:plistPath];
    
        NSLog(@"Does the file exist?: %@", @(fileExists));
    
    
        if(fileExists)
        {
    
            NSLog(@"The value of the path is: %@",plistPath);
    
            NSMutableArray *toDoItems = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
        }else{
            NSLog(@"File does not exist");
        }
    
    
    }
    
    
    
    -(NSString *)getFilePath
    {
    
        NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    
        return [[pathArray objectAtIndex:0] stringByAppendingPathComponent:@"ToDoListData.plist"];
    
    }
    

1 个答案:

答案 0 :(得分:0)

将plist文件拖到XCode中的项目中。然后会出现一个屏幕,询问您是否要复制项目以及要选择的目标。确保选择“如果需要复制项目”,并在“目标”下勾选项目。

这样,它应该在代码中找到。