Ios viewDidLoad中初始化的变量范围加载到另一个方法
在视图中,我有以下部分:Ios viewDidLoad中初始化的变量范围加载到另一个方法,ios,objective-c,xcode,Ios,Objective C,Xcode,在视图中,我有以下部分: UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActionSheetStyleBlackTranslucent]; [self.view addSubview:spinner]; [spinner startAnimating]; 这很好 但是在下面的:webViewDidFinishLoa
UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActionSheetStyleBlackTranslucent];
[self.view addSubview:spinner];
[spinner startAnimating];
这很好
但是在下面的:webViewDidFinishLoad中,我有:
而且spinner的范围已经丢失。我还没有将spinner作为一个出口或一个财产/综合资产——仍在努力解决它。我认为一旦我得到了范围的处理,它应该使obj-c的能力更好 您需要将微调器设置为头文件中的实例变量,否则webViewDidFinishLoad将无法看到该变量。您需要将微调器设置为头文件中的实例变量,否则webViewDidFinishLoad将无法看到该变量 而且spinner的范围已经丢失 微调器是一个局部变量。一旦代码到达声明后最近的右大括号,它就会消失。如果不希望发生这种情况,请将spinner设置为类或类扩展的实例变量 实例变量在接口声明或类扩展声明后的大括号内声明,例如:
// In the header file...
@interface MyClass {
...
UIActivityIndicatorView *spinner;
}
...
@end
或
而且spinner的范围已经丢失
微调器是一个局部变量。一旦代码到达声明后最近的右大括号,它就会消失。如果不希望发生这种情况,请将spinner设置为类或类扩展的实例变量
实例变量在接口声明或类扩展声明后的大括号内声明,例如:
// In the header file...
@interface MyClass {
...
UIActivityIndicatorView *spinner;
}
...
@end
或
在viewDidLoad中,为微调器设置标记
spinner.tag = 90;
在webViewDidFinishLoad方法中,使用以下行
UIActivityIndicatorView *activity =(UIActivityIndicatorView *) [self.view viewWithTag:90];
[activity stopAnimating];
or declare spinner in .h file so that you can use it any where.
在viewDidLoad中,为微调器设置标记
spinner.tag = 90;
在webViewDidFinishLoad方法中,使用以下行
UIActivityIndicatorView *activity =(UIActivityIndicatorView *) [self.view viewWithTag:90];
[activity stopAnimating];
or declare spinner in .h file so that you can use it any where.
谢谢你的评论!非常感谢,当它让我接受时,我会接受的!谢谢你的评论!非常感谢,当它让我接受时,我会接受的!