如何使用NSUserDafaults在另一个类中获取一个类数组列表数据

时间:2015-07-11 07:15:50

标签: ios swift

我是Objective-c的初学者,在我的项目中,我想在另一个类中使用NSUserDefaults获取一个类arry-list数据,我在这里做了一些代码,但是它没有用,请帮助我一些

这是我的主类,当我们点击按钮

时,我从子类调用displayData方法
- (IBAction)btnDisplayClicked:(id)sender{

    ModelManager *mgrObj=[ModelManager getInstance];
    [mgrObj displayData];//Calling here sub class method displayData

    NSMutableArray *myArr;
    myArr = [[NSMutableArray alloc]init];

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    myArr =[userDefaults objectForKey:@"array"];
    NSLog(@"array values are %@",myArr);
}

这是我的子类: -

-(void)displayData
{
    [instance.database open];

    FMResultSet *rs = [instance.database executeQuery:@"SELECT * FROM studentInfo1"];

    rowData = [[NSMutableArray alloc] init];

    while ([rs next]) {

        for(int i=0; i<[rs columnCount]; i++) {

            [rowData addObject:[[rs resultDict] objectForKey:[[rs columnNameForIndex:i] lowercaseString]]];
             }
         }

     NSLog(@"%@",rowData);

     NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    [userDefaults setObject:rowData forKey:@"array"];

    [instance.database close];
}

1 个答案:

答案 0 :(得分:0)

试试这个

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:rowData forKey:@"array"];
[userDefaults synchronize];

它会起作用