0
我正在为iPad应用程序使用分割视图控制器。我试图在按下按钮时从rootSending Controll向detailReceiving Controller发送标签更改。我已阅读了有关协议的教程,并提供了下面的代码。当我点击rootSending上的按钮时,detailReceiving上的标签没有任何反应。我是否必须使用splitViewContoller做其他事情,以便标签更新?接收消息时,不应该细节接收更改标签吗?使用委托来传递字符串的UISplitViewController
rootSending.h
#import <UIKit/UIKit.h>
@protocol TestDelegate <NSObject>
-(void)tester:(NSString*)testString;
@end
@interface rootSending : UIViewController
@property (nonatomic, assign) id <TestDelegate> delegate;
@end
rootSending.m
#import "rootSending.h"
@implementation rootSending
@synthesize delegate;
-(void)viewDidLoad{
}
-(IBAction)buttonPressed:(id)sender{
[delegate tester:@"button pressed"];
}
@end
detailReceiving.m
#import "detailReceiving.h"
#import "rootSending.h"
@interface detailReceiving()<TestDelegate>{
IBOutlet UILabel *label2;
}
@end
@implementation detailReceiving
-(void)viewDidLoad{
rootSending *obj = [rootSending alloc];
obj.delegate = self ;
}
-(void)tester:(NSString *)testString{
label2.text = testString;
}
@end
伟大的工程!好的提示在alloc上。我只知道我不想启动它。 – iDev 2014-10-29 17:32:57
如果故事板是分屏视图 - >导航控制器 - >视图,该怎么办?这不起作用:xmlListofItems * obj =(xmlListofItems *)self.splitViewController.navigationController.viewControllers.firstObject; – iDev 2014-10-29 18:02:56
@iDEV,你真的需要考虑你的控制器结构,以及你的控制器如何相互关联 - 这是你必须学习的非常重要的iOS编程基础知识。我已经更新了我的答案,告诉你如何做到这一点,但你需要做一些学习来学习这些东西。 – rdelmar 2014-10-29 18:42:04