【发布时间】:2014-06-17 11:52:18
【问题描述】:
对不起,我的英语不好,我是 ios 开发的新手。 我正在尝试为从 UIViewController 继承的 TutorialChildController 添加一个新的 IBOutlet。我的 TutorialChildController 在 Storyboard 中,它有 UILabel、UIButton 和 UIImage。我在另一个 ViewController 中动态创建它,它是 rootViewController 。代码在 viewDidLoad 处调用,如下所示:
TutorialChildController *tutorialChildController = [self.storyboard instantiateViewControllerWithIdentifier:@"TutorialChildController"];
这是我的 TutorialChildController.h :
#import <UIKit/UIKit.h>
@interface TutorialChildController : UIViewController
@property (weak, nonatomic) IBOutlet UIButton *startButton;
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (weak, nonatomic) IBOutlet UIImageView *tutorialImage;
@property NSUInteger index;
@property NSString *titleText;
@property NSString *imageFile;
@end
但是在 TutorialChildController.m 中,我试图检查我的 Outlets,但我的 startButton 为空。
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"myButton : %@ ", self.startButton); // output is null
NSLog(@"myLabel : %@ ", self.titleLabel); // output is object
}
故事板中链接的所有 IBOutlets 并且 startButton 为空。我不知道为什么。
我添加了一些截图:
【问题讨论】:
-
检查情节提要,确保开始按钮正确链接到您的属性。你也可以通过进入 TutorialChildController.h 并检查属性左侧是否有一个实心点,或者如果它是一个空点,空表示没有任何链接。
-
谢谢,但它是 startButton 的实心圆点。还从 stroyboard 及其与属性的链接再次检查。
-
您的视图确实加载方法应该以 [super viewDidLoad] 开头;顺便说一句,尝试添加另一个按钮,看看那个是否为空。 (但不要更改任何按钮属性,只需将其添加到故事板上,然后链接即可)
-
哦,抱歉,我忘了添加有问题的 super。它已经定义好了。我更新了我的代码。
-
我做了你的建议,另一个按钮也是空的:/在 .h 文件中它的填充点也是
标签: ios objective-c