我正在开发iPhone 3.1.3应用程序和 我有以下头文件:
#import <UIKit/UIKit.h>
@interface VoiceTest01ViewController : UIViewController {
IBOutlet UITextView *volumeTextView;
BOOL isListening;
NSTimer *soundTimer;
}
@property (nonatomic, retain) IBOutlet UITextView *volumeTextView;
@property (nonatomic, retain) NSTimer *soundTimer;
- (IBAction)btnStartClicked:(id)sender;
@end
.m文件是:
#import "VoiceTest01ViewController.h"
@implementation VoiceTest01ViewController
@synthesize volumeTextView;
@synthesize soundTimer;
...
如何在开始时将isListening
设置为false?
答案 0 :(得分:6)
默认情况下,所有实例变量都设置为0 / NULL / nil,如果BOOL
,则表示NO
。所以它默认为NO
(或假)。
如果您需要任何其他值,则需要覆盖指定的初始值设定项,大部分时间为init
,并在那里设置默认值。
答案 1 :(得分:3)
在viewDidLoad
中设置布尔值- (void)viewDidLoad {
isListening = NO;
//Something
}
答案 2 :(得分:2)
BOOL字段的默认值为False,但它是一个好位置,将其设置在“viewDidLoad”中,就像@BuildSucceeded sugest
一样问候
答案 3 :(得分:0)
1)init
是一个好地方,如下所示,但如果您使用的是故事板,则不会调用此init
方法。
- (id) init {
self = [super init];
if (self) {
isListening = NO;
}
return self;
}
2)
initWithCoder
是你的代码的好地方,如果你使用故事板当然你的sdk是3.0,我相信它当时没有故事板,但万一有人需要它:
- (id) initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
isListening = NO;
}
return self;
}
3)如果你的viewcontroller将从nib文件初始化:
- (id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
isListening = NO;
}
}