【问题标题】:Pass a string between 2 view controllers在 2 个视图控制器之间传递一个字符串
【发布时间】:2011-02-25 01:57:24
【问题描述】:
我的问题很简单,但是作为初学者,我迷路了:D
我必须查看控制器:
像这样查看一个呼叫视图 2:
self.FacebookTypeRequest =@"favoris";
FaceBookViewController *viewcontrol = [[FaceBookViewController alloc]initWithNibName:@"FaceBookViewController" bundle:[NSBundle mainBundle]];
viewcontrol.title = @"FaceBook";
[self.navigationController pushViewController:viewcontrol animated:YES];
[viewcontrol release];
如何将我的字符串 facebookTypeRequest 发送到我的视图控制器 2?
【问题讨论】:
标签:
ios
objective-c
iphone
string
uiviewcontroller
【解决方案1】:
在 .h 文件中像这样在第二个视图控制器 (FaceBookViewController) 上创建一个属性:
@interface FaceBookViewController {
...
NSString *facebookTypeRequest;
...
}
@property (nonatomic, copy) NSString *facebookTypeRequest;
并在 .m 文件中放置
@implementation FaceBookViewController
@synthesize facebookTypeReqeust;
记得放入你的 dealloc 方法
- (void) dealloc {
[facebookTypeRequest release];
// release other properties here as well
[super dealloc];
}
然后,你可以这样设置:
self.FacebookTypeRequest = @"favoris";
FaceBookViewController *viewcontrol = [[FaceBookViewController alloc] initWithNibName:@"FaceBookViewController" bundle:nil];
viewcontrol.title = @"FaceBook";
viewcontrol.facebookTypeRequest = self.FacebookTypeRequest; //!< This is the line :)
[self.navigationController pushViewController:viewcontrol animated:YES];
[viewcontrol release];
现在,在您的 FaceBookViewController 中,您拥有 facebookTypeRequest。
希望对您有所帮助。
NB 通常使用大写字母来开始属性名称是不好的做法,即 self.FaceboookTypeReqeust 实际上应该是 self.facebookTypeRequest。