Можно сделать этот путь -
int[] terms = new int[400];
for (int runs = 0; runs < 400; runs++)
{
terms[runs] = value;
}
, С другой стороны, можно использовать Списки - преимущество со списками быть, Вы не должны знать размер массива при инстанцировании списка.
List termsList = new List();
for (int runs = 0; runs < 400; runs++)
{
termsList.Add(value);
}
// You can convert it back to an array if you would like to
int[] terms = termsList.ToArray();
Поскольку я использую performSelector: afterDelay, единственный способ, которым я смог правильно "убить" любую ранее запрошенную, но не запущенную функциональность, - это использовать:
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:theBall object:nil];
В следующем примере кода показано как это работает (создайте новый проект XCode шаблона представления под названием "select" и замените файл selectViewController.h этим):
#import "selectViewController.h"
@implementation selectViewController
UILabel *lblNum;
UIButton *btnStart, *btnStop;
int x;
- (void) incNum {
x++;
lblNum.text = [NSString stringWithFormat:@"%i", x];
[self performSelector:@selector(incNum) withObject:NULL afterDelay:1.0];
}
- (void) stopCounter {
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(incNum) object:NULL];
}
- (void)viewDidLoad {
x = 0;
lblNum = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
lblNum.textAlignment = UITextAlignmentCenter;
[self.view addSubview:lblNum];
btnStart = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnStart.frame = CGRectMake(40, 270, 240, 30);
[btnStart setTitle:@"start" forState:UIControlStateNormal];
[btnStart addTarget:self action:@selector(incNum) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnStart];
btnStop = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btnStop.frame = CGRectMake(40, 310, 240, 30);
[btnStop setTitle:@"stop" forState:UIControlStateNormal];
[btnStop addTarget:self action:@selector(stopCounter) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnStop];
[self performSelector:@selector(incNum) withObject:NULL afterDelay:1.0];
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
}
- (void)dealloc {
[lblNum release];
[super dealloc];
}
@end