编辑:在我的项目中使用的所有阵列NSMutableArray
类的iOS从另一个阵列基础上,第三阵列的增值对象数组
什么,我想要做的就是从我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");
}
}
GamePageViewController.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
功能吗?
嗯,这是否意味着已经加入了阵列自动成为一个对象什么?即使我加入的是'NSNumber'?对不起,询问,我很新的iOS Objective-C –
NSNumber是一个对象!我正在编辑我的帖子,为您提供您应该使用的线路。 – rdurand
啊抱歉,当我问起时,凌晨1点在我身边。刚醒来。在清新之后要尝试一下 –