编辑:我的项目中使用的所有数组都是NSMutableArray
类
我想要做的概述来自我的 selectClueView,用户可以从 3-10 中选择一个数字。这代表他们将播放的线索数。然后它将生成 0 和 之间的随机数列表,并将其objectArray.count
添加NSNumber
到另一个称为 dataArray 的数组中。一切正常,包括prepareForSegue
转移SelectClueViewController.dataArray
到GamePageViewController.clueToSelect
但是,我坚持将数据ds
从包含所有对象的数组加载到新数组中allDataObject
。我对 iOS 相当陌生,因为我在 c# 中有一个工作函数,所以我试图在 Objective-C 中复制它,不幸的是,我似乎无法完全复制它。
简而言之,我正在尝试将数组中的数据添加allDataObject
到ds
具有数组NSNumber
值的cluesToSelect
数组中。
以下是使用的编码。任何解决此问题的帮助将不胜感激。如果我应该提供更多信息,请告诉我。
SelectClueViewController.m
- (IBAction)onGoPress:(id)sender {
[self chooseNumber];
NSLog(@"Array got %d numbers",dataArray.count);
}
-(void)chooseNumber
{
[dataArray removeAllObjects];
maxCount = [numberOfClues.text intValue];
int count = 0;
do {
NSInteger rdmNumber = arc4random()%objectArray.count;
if (![dataArray containsObject:[NSNumber numberWithInt:rdmNumber]])
{
NSNumber* number = [NSNumber numberWithInt:rdmNumber];
[dataArray addObject:number];
count++;
NSLog(@"random no - %d",rdmNumber);
}
} while (count < maxCount);
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"sendNumber"]) {
GamePageViewController *gpViewController = [segue destinationViewController];
gpViewController.cluesToSelect = self.dataArray;
NSLog(@"Success");
}
}
游戏页面视图控制器.m
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
daoDS = [[ClueDataDAO alloc]init];
self.allDataObject = daoDS.PopulateDataSource;
NSLog(@"%d",cluesToSelect.count);
[self fillDataSample];
//for keyboard
self.answer.delegate = self;
}
-(void)fillDataSample
{
int count = 0;
do {
// [self.ds addObject:[allDataObject objectAtIndex:[[cluesToSelect objectAtIndex:count]intValue] ]];
ds = [[NSMutableArray alloc]init];
currentClueData = [[ClueData alloc]init];
int firstIndex = [[cluesToSelect objectAtIndex:count]intValue];
currentClueData = [allDataObject objectAtIndex:firstIndex];
[ds addObject:currentClueData];
count++;
} while (count < cluesToSelect.count);
NSLog(@"ds got %d object",ds.count);
}
编辑:
我现在可以让它将对象添加到ds
数组中,不幸的是它只添加了一次。有人可以看看我的fillDataSample
功能吗?