所以我有我的应用程序,我有一个点击计数器和显示标签的视图。我希望它能在主视图上显示文本(现在可以),但也可以在第二个视图上显示。
那我怎么能在另一个视图上显示文字呢?如果需要更多详细信息,请发送电子邮件。
为TAP COUNTER重播的步骤 .h文件:
@interface Level1 : UIViewController {
int counter;
IBOutlet UILabel *count;
}
-(IBAction)plus;
@property (assign) int counter;
@end
.m文件:
@synthesize counter;
- (void) viewDidLoad {
counter=1;
count.text = @"0";
[super viewDidLoad];
}
-(IBAction)plus {
counter=counter + 1;
count.text = [NSString stringWithFormat:@"%i",counter];
}
@end
提前致谢
答案 0 :(得分:1)
您可以使用计数器值创建模型,该模型将在两个视图之间共享。
模型通常使用单例模式创建。在这种情况下,可以这样做:
你的.h文件:
@interface CounterModel
@property (assign) NSInteger counter;// atomic
+ (id)sharedInstance;
- (void)increment;
@end
你的.m文件:
@implementation CounterModel
@synthesize counter;
- (id)init
{
if (self = [super init])
{
}
return self;
}
+ (id)sharedInstance
{
static CounterModel *instance = nil;
if (instance == nil)
{
instance = [[CounterModel alloc] init];
}
return instance;
}
- (void)increment
{
counter++;
}
@end
然后从一个视图控制器中调用:
[[CounterModel sharedInstance] increment];
从第二个开始,您可以通过调用:
来读取此更新值[[CounterModel sharedInstance] counter];
要实现您想要的效果,您可以在viewWillAppear方法中设置从模型的计数器值读取的UILabel值。
答案 1 :(得分:0)
在这里,您可以使用委托将数据传递到另一个视图。当您可能通过第一个视图加载第二个视图时,可以将第一个视图设置为数据源。
http://www.youtube.com/watch?v=e5l0QOyxZvI
您还可以使用通知中心将消息发送到另一个视图。