代码的第1部分工作正常。 第2部分显示了这会导致代码如预期般停止工作(没有错误/警告)代码的微小变化。
第1部分:(工程)
#import "ClassA.h"
#import "ClassB.h"
@implementation ClassA
- (void) sendData
{
NSString *temp = [NSString stringWithFormat:@"HI!"];
ClassB *classBObject = [[ClassB alloc] init];
classBObject.dataToDisplay = temp;
self.view = classBObject.view;
}
@end
ClassB的界面:
#import <UIKit/UIKit.h>
@interface ClassB : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *textLabel;
@property NSString * dataToDisplay;
@end
ClassB的实施情况:
#import "ClassB.h"
@implementation ClassB
@synthesize dataToDisplay, textLabel;
- (void)viewDidLoad
{
[super viewDidLoad];
textLabel.text = dataToDisplay;
}
@end
第2部分:
但是,如果我改变- (void)sendData
ClassA的大致有以下:
- (void) sendData
{
NSString *temp = [NSString stringWithFormat:@"HI!"];
ClassB *classBObject = [[ClassB alloc] init];
classBObject.textLabel.text = temp; // statement changed from Part 1.
self.view = classBObject.view;
}
和除去textLabel.text = dataToDisplay;
从implementation
的ClassB
,在textLabel
视图控制器上ClassB
未更新。 能否请你建议,为什么会这样呢?
谢谢!
编辑1:
在声明中: classBObject.textLabel.text = temp; // statement changed from Part 1.
classBObject.textLabel.text = temp; // statement changed from Part 1.
,我已经错过了.text
而复制粘贴。 请原谅我这一点。