将多个字符串从一个类传递到另一个类

时间:2012-06-22 04:59:58

标签: iphone objective-c ios

我是iPhone新手。我有一点怀疑。我在班级圣经PlayerViewController中有三个字符串,我想从这个类将这3个字符串传递给appdelegate。怎么做?

4 个答案:

答案 0 :(得分:1)

在BiblePlayerViewController中创建一个属性NSDictionary,并将三个字符串添加到字典中,这样您就可以在任何地方阅读该字典

NSDictionary *FileDict = [[NSDictionary  alloc] initWithObjectsAndKeys:str1,@"key1",str2,@"key2",str3,@"key3",nil];

答案 1 :(得分:0)

NSString

中创建appdelegate.h类型的变量
NSString *test;

appdelegate.h中导入BiblePlayerViewController.m  现在使用

获取对appdelegate类的引用
Appdelegate *ad; //init with some object
 //now access the NSString var u just created
 ad.test=@"your string";

答案 2 :(得分:0)

创建Appdelegate的静态引用并在Appdelegate中将NSStrings声明为类变量

这是appdelegate

+(Appdelegate*)getAppdelegate{
     return self
}

然后在你的viewcontroller中 做appdelegate.string1 = string1等等.. 您还可以将这些对象封装在Array中并将它们传递给appdelegate。

我们的想法是获得Appdelegate的静态参考。

答案 3 :(得分:0)

我认为你可以使用appdelegate类的共享对象来处理类似的情况。

appdelegate类中的

将全局对象声明为

#define UIAppDelegate ((MyAppDelegateClass *)[UIApplication sharedApplication].delegate)

通过声明这一点,从任何导入AppDelegate类的类都可以使用AppDelegate类的这个共享对象。

然后你在AppDelegate中声明了三个属性为

@interface MyAppDelegateClass : NSObject <UIApplicationDelegate> 
{
   NSString   *string1;
   NSString   *string2;
   NSString   *string3;
}
@property (nonatomic,retain) NSString  string1;
@property (nonatomic,retain) NSString  string2;
@property (nonatomic,retain) NSString  string3;

@end

然后在AppDelegate Implementation

@implementation MyAppDelegateClass

@synthesize string1;
@synthesize string2;
@synthesize string3;

@end

在您需要将字符串发送到AppDelegate的类中,使用如下所示 您需要先导入AppDelegate类

#import "MyAppDelegateClass.h"

@interface MyCustomSenderClass : UIViewController

@end

并在实施中

@implementation MyCustomSenderClass

- (void) sendStringsToAppDelegate
{
   UIAppDelegate.string1 = myString1;
   UIAppDelegate.string2 = myString2;
   UIAppDelegate.string3 = myString3;
}

@end

因此,您可以从任何类直接为AppDelegate设置一个值,导入您的AppDelegate类。

我认为这有助于你。