Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIButton在viewDidLoad中为空_Ios_Objective C - Fatal编程技术网

Ios UIButton在viewDidLoad中为空

Ios UIButton在viewDidLoad中为空,ios,objective-c,Ios,Objective C,对不起,我的英语不好,而且我对ios开发非常陌生。 我正在尝试为从UIViewController继承的TutorialChildController添加新的IBOutlet。我的TutorialChildController位于脚本中,它有UILabel、UIButton和UIImage。我正在另一个ViewController(rootViewController)中动态创建它。代码在viewDidLoad处调用,如下所示: TutorialChildController *tutorial

对不起,我的英语不好,而且我对ios开发非常陌生。 我正在尝试为从UIViewController继承的TutorialChildController添加新的IBOutlet。我的TutorialChildController位于脚本中,它有UILabel、UIButton和UIImage。我正在另一个ViewController(rootViewController)中动态创建它。代码在viewDidLoad处调用,如下所示:

TutorialChildController *tutorialChildController = [self.storyboard instantiateViewControllerWithIdentifier:@"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
故事板中链接的所有IBOutlets和just startButton均为空。我不知道为什么

我添加了一些截图:

试试这个:

- (void)viewDidAppear:(BOOL)animated
{
  [super viewDidAppear:animated];
  NSLog(@"myButton : %@ ", self.startButton.titleLabel.text);
  NSLog(@"myLabel : %@ ", self.titleLabel.text);
}

1:从情节提要中移除按钮并删除该行 @属性(弱,非原子)IBUIButton*startButton

2:添加另一个按钮,使其坚固,以防万一


它肯定会工作。

确保该按钮作为引用插座连接到视图控制器,而不是插座集合


我简直不敢相信,只是在Xcode菜单上试了一下:

产品>清洁,现在可以使用了!!!!该死


这花了我7-8小时来解决。:/感谢大家的帮助。

检查情节提要,确保startbutton正确链接到您的酒店。您也可以通过转到TutorialChildController.h并检查属性左侧是否有一个填充点,或者如果它是一个空点,则空表示没有链接到它。谢谢,但它是startButton的填充点。还从stroyboard及其linked with属性中再次检查。您的view-did-load方法应以[super-viewDidLoad]开头;顺便说一句,尝试添加另一个按钮,看看该按钮是否为空。(但不要更改任何按钮属性,只需将其添加到故事板上并链接)哦,对不起,我忘了添加有问题的super。它已经被定义了。我更新了我的代码。我按照你的建议做了,另外一个按钮也是空的:/h文件中它的填充点很奇怪。你应该发布更多的代码,或者只是通过编程来实现。这里是我的一些代码和IB self的截图。startButton为空,所以titleLabel为空,所以不确定你哪里出错了。把整个项目贴在某个地方,更容易检查为什么它不起作用。试着把你的答案充实一点。仅仅发布一个代码块而没有任何解释或上下文是不好的。我已经添加了我的项目的屏幕截图,你可以检查它。@XaverKapeller我宁愿帮助Zifozi找到错误所在,也不愿一次就解释所有内容。我有预感Zifozi哪里错了。我想这比那简单多了,我已经做到了。此外,我还添加了我的项目的屏幕截图,您可以查看。我指的是按钮,它与视图控制器的连接正确(我的看起来相同),但从列表中选择按钮时,它在参考插座中的设置是否正确?是,正如我所说的,它和其他插座一样连接,只是我得到了那个按钮的空值。我遇到了同样的问题。该死我生命中的几个小时。
- (void)viewDidAppear:(BOOL)animated
{
  [super viewDidAppear:animated];
  NSLog(@"myButton : %@ ", self.startButton.titleLabel.text);
  NSLog(@"myLabel : %@ ", self.titleLabel.text);
}