【问题标题】:How To Add Data To App To Test Core Data Model如何将数据添加到应用程序以测试核心数据模型
【发布时间】:2011-04-27 02:21:51
【问题描述】:

我在这个问题中有一些关于我的核心数据模型对象等的讨论:How To Achieve This Using Core Data

我想知道是否以及如何将数据添加到我的 App Delegate 以模拟用户将输入到应用程序中的数据。然后我可以设置所有使用核心数据的表格视图和视图,并确保一切正常并正确连接。

一切就绪后,我可以删除这些数据并将其切换为来自用户的输入数据。

有人可以帮忙吗?谢谢!

【问题讨论】:

    标签: iphone objective-c core-data


    【解决方案1】:

    您需要创建一个 Data 类,您可以在其中设置变量或案例数组的属性(用于在 UITableView 中显示数据)。在数据类中实现一个类方法,检查该对象是否已实例化。如果没有,它会这样做。是这样的:

    //DataClass.h    
    
    @interface DataClass : NSObject {  
    
    NSMutableArray *nameArray;  
    NSMutableArray *placeArray;     
    
    }  
    @property(nonatomic,retain)NSMutableArray *nameArray;  
    @property(nonatomic,retain)NSMutableArray *placeArray;  
    +(DataClass*)getInstance;  
    @end  
    
    
    //DataClass.m  
    @implementation DataClass  
    @synthesize nameArray;  
    @synthesize placeArray;  
    static DataClass *instance =nil;  
    +(DataClass *)getInstance  
    {  
        @synchronized(self)  
        {  
            if(instance==nil)  
            {  
    
                instance= [DataClass new];  
            }  
        }  
        return instance;  
    }  
    

    现在在您的视图控制器中,您需要将此方法称为:

    DataClass *obj=[DataClass getInstance];  
    

    并使用数组。
    这样您就可以在不干扰 AppDelegate 的情况下分配数据,这是一种很好的做法。

    【讨论】:

    • 此外,您可能需要考虑将信息放在 plist 文件中,并且只需让 DataClass.m 检查核心数据存储是否存在,如果不存在,则解析该 plist 文件以填充存储。这基本上就是我为我的应用程序所做的事情,并且效果很好。它使修改信息变得非常容易,而无需筛选/更改代码。
    • 为@Stunner +1。我做类似的事情。它允许我在单独的非代码文件中创建数据,这使得编辑相对容易。并且,使用 NSUserDefaults,我存储/检查用户是否曾经运行过应用程序。如果没有,则将 plist 数据导入 Core Data 存储。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    相关资源
    最近更新 更多