通过委托对象c在类之间传递数据值的问题

时间:2011-08-28 15:12:43

标签: iphone objective-c

我只想将数据从MyCoolViewController传输到firstViewController。

我在将数据从MyCoolViewController类转移到firstViewController时遇到问题。这是我的代码

MyCoolViewController.h// a class where data send from

@protocol MyCoolViewDelegate;

@interface MyCoolViewController : UIViewController  {


id <MyCoolViewDelegate> delegate;//
}
@property (nonatomic, assign) id delegate;//


@end
@protocol MyCoolViewDelegate <NSObject>//

-(void)sendAStringToAnotherView:(NSString*)string;
@end

MyCoolViewController.m

-(void)viewDidLoad{

label.text = townName;

[delegate sendAStringToAnotherView:townName];//problem is here
}




firstViewController.m  //a class where data sent
-(void)viewDidLoad{

MyCoolViewController *myViewControllerPointer=[[MyCoolViewController alloc] init];
myViewControllerPointer.delegate = self;//
}

-(void)sendAStringToAnotherView:(NSString*)string
{
//displays the string as console output
NSLog(@"plzzzzzz show data%@",string);
}
什么都没有。请帮忙

1 个答案:

答案 0 :(得分:2)

示例代码的第一个问题:

NSLog(@"plzzzzzz show data",string);

应该是:

NSLog(@"plzzzzzz show data: %@", string);

缺少的是装载MyCoolViewController。仅仅创造它是不够的。必须有一个类似命名的nib或loadView方法。

您可以使用以下内容强制加载(仅用于测试)firstViewController viewDidLoad

[[self.view addSubview:self.myViewControllerPointer.view];

2011-08-28 12:32:06.410 TestVC [25700:f203] plzzzzzz显示数据:这是一个字符串