私は開発に不慣れで、これを理解しようとして壁に頭をぶつけています。確かに、私は何か愚かなことを見逃していると思いますが、さまざまな異なる解決策を試した後でも、結果を得ることができません。 m探しています。
別のクラスからViewControllerのUILabelを更新できるようにしたいのですが、これは動作させることができない小さなデモプログラムです。2つのUILabelを持つViewControllerがあり、1つはから更新されviewDidDoad
、もう1つはIから呼び出されるNewClassと呼ばれる他のクラスから更新したいViewController
のですが、コンソールがエントリをログに記録しているため、クラスが正しく呼び出されていることがわかりNSLog
ますが、を更新するための構文を取得できませんUILabel
。
前もって感謝します。
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController {
UILabel *_labelupdate01;
UILabel *_labelupdate02;
}
@property (nonatomic, retain) IBOutlet UILabel *labelupdate01;
@property (nonatomic, retain) IBOutlet UILabel *labelupdate02;
@end
ViewController.m
#import "ViewController.h"
#import "NewClass.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize labelupdate01;
@synthesize labelupdate02;
- (void)viewDidLoad
{
[super viewDidLoad];
labelupdate01.text = @"Update from ViewController";
[NewClass updatedisplay];
}
@end
NewClass.h
#import <Foundation/Foundation.h>
@class ViewController;
@interface NewClass : NSObject
@property (nonatomic, assign) ViewController *ViewController;
+ (void)updatedisplay;
@end
NewClass.m
#import "NewClass.h"
#import "ViewController.h"
@implementation NewClass
@synthesize ViewController = _ViewController;
+ (void)updatedisplay
{
NSLog(@"NewClass - updatedisplay");
ViewController *labelupdate02;
labelupdate02.labelupdate02.text = @"Update from NewClass";
}
@end