如何将数组值从一个类传递到另一类 [英] How to pass array value from one class to other class

查看:51
本文介绍了如何将数组值从一个类传递到另一类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从委托类传递数组值到视图控制器类

How can i pass an array value from a delegate class to view controller class

const char *query2=[tempQuery UTF8String];
NSMutableArray *arr1 = [[NSMutableArray alloc]init];;
if (sqlite3_prepare_v2(database,query2,-1,&statement1,NULL)==SQLITE_OK) {
    //NSLog(@"vt", vt);

    while (sqlite3_step(statement1)==SQLITE_ROW) {
        vt=[[[Question1 alloc]init]autorelease];
        vt.question=[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement1,3)];
        [arr1 addObject:vt.question];
        NSLog(@"arr1 is %@",[arr1 description]);

其中arr1是数组值.因此该数组值必须传入另一个类.

Where arr1 is an array value. So that array value has to pass in another class.

谢谢.

推荐答案

您可以使用 NSUserDefault 方法传递 NSString NSMutableArray ... NSUserDefaultExample

You can pass NSString or NSMutableArray using NSUserDefault method... NSUserDefaultExample and Saving/Retrieving Data Using NSUserDefaults

保存

 NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// saving an NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];

 // saving an NSInteger
 [prefs setInteger:42 forKey:@"integerKey"];

 // saving a Double
 [prefs setDouble:3.1415 forKey:@"doubleKey"];

 // saving a Float
 [prefs setFloat:1.2345678 forKey:@"floatKey"];

  // saving an array
  NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
  [prefs setObject:data forKey:@"lastResults"]

 // This is suggested to synch prefs, but is not needed (I didn't put it in my tut)
 [prefs synchronize];

用于检索

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];

// getting an NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];

// getting an NSInteger
NSInteger myInt = [prefs integerForKey:@"integerKey"];

// getting an Float
float myFloat = [prefs floatForKey:@"floatKey"];

// getting an array
 NSData *dataRepresentingSavedArray = [prefs objectForKey:@"lastResults"];
 if (dataRepresentingSavedArray != nil)
 {
    NSArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray];
    if (oldSavedArray != nil)
            objectArray = [[NSMutableArray alloc] initWithArray:oldSavedArray];
    else
            objectArray = [[NSMutableArray alloc] init];
 }

filename *detailViewController = [[filename alloc] initWithNibName:@"filename" bundle:nil];
detailViewController.audio=@"yourData";
[self presentModalViewController:detailViewController animated:YES];
[detailViewController release];

在filename.h中声明

Declare in filename.h

 NSArray *audio;

 @property(nonatomic,retain) NSArray *audio;

和文件名.m

 @synthesize audio;

仅此而已.

这篇关于如何将数组值从一个类传递到另一类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆