无法在iOS中的视图控制器之间传输数据
我是Objective-c和stackOverflow的新手 我创建了两个视图控制器,它们由一个名为showDetailSegue的segue连接 在LPLviewcontroller1中,我有一个句子属性,我用它在LPLviewcontroller1的textview中设置文本,我想用segue在LPLviewcontroller中设置句子属性的值。此外,我在LPLviewcontroller上有一个按钮,可以执行showDetailSegue 然而,该程序在无法在iOS中的视图控制器之间传输数据,ios,objective-c,viewcontroller,Ios,Objective C,Viewcontroller,我是Objective-c和stackOverflow的新手 我创建了两个视图控制器,它们由一个名为showDetailSegue的segue连接 在LPLviewcontroller1中,我有一个句子属性,我用它在LPLviewcontroller1的textview中设置文本,我想用segue在LPLviewcontroller中设置句子属性的值。此外,我在LPLviewcontroller上有一个按钮,可以执行showDetailSegue 然而,该程序在 int main(int
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([LPLAppDelegate class]));
(program breaks here)
}
}
系统日志为
2014-06-25 16:49:43.199 test[6322:60b] -[LPLViewController button:]: unrecognized selector sent to instance 0x8d43f30
2014-06-25 16:49:43.204 test[6322:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[LPLViewController button:]: unrecognized selector sent to instance 0x8d43f30'
这是LPLviewController.m
#import "LPLViewController.h"
#import "LPLViewController1.h"
@interface LPLViewController ()
@end
@implementation LPLViewController
- (IBAction)press:(id)sender {
[self performSegueWithIdentifier:@"showDetailSegue" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"showDetailSegue"]){
LPLViewController1 *controller = (LPLViewController1 *)segue.destinationViewController;
controller.sentence = @"dfjlasdkfjlskdfjlksdjflkadsjf";
}
}
@end
这里是LPLviewController1.m
#import "LPLViewController1.h"
@implementation LPLViewController1
-(void) viewDidLoad
{
_text.text = _sentence;
}
@end
在LPLViewController1.h头文件中需要此文件:
@property (nonatomic, strong) NSString *sentence
然后在LPLViewController1实现中使用self.句子来访问该值。prepareForSegue:sender方法很好。但是这是非常基本的Objective C内容…在没有看到头文件的情况下不是100%确定的,但是从异常情况来看,听起来好像您没有定义属性语句。如何定义按钮的事件?