2011-05-28 70 views
0

到目前为止我的代码分配INT新INT

- (void)CreatenewBlock:(int)blockCountToSpawn 
{ 
    for (int i=0; i != blockCountToSpawn; i++) 
    { 
     theBlockxCord = arc4random() % 4; 
     theBlockyCord = arc4random() % 4; 
     NSLog(@"New Block with Cords (%i, %i)",theBlockxCord, theBlockyCord); 
    } 

} 

这个循环,直到它达到blockCountToSpawn 的anount这工作正是我想它,但我想theBlockxCord设置为每一个新的变量时间。所以最终的结果会是这样的:

theBlockxCordOfBlock1=2 
theBlockxCordOfBlock2=4 
theBlockxCordOfBlock3=1 
theBlockxCordOfBlock4=3 

而不是每次都覆盖BlockXCord。

奖励积分,有没有一种方法来在阵列也许打电话给他们,所以我没有继续这样做:

if (theBlockxCordOfBlock1 == 2 || theBlockxCordOfBlock3 == 2 ..etc) 
{ 
    do stuff.. 
} 

回答

2

您可以使用C数组或一个NSMutableArray。您必须先将int s转换为NSNumber,然后才能将其添加到阵列中。

- (void)CreatenewBlock:(int)blockCountToSpawn 
{ 
    NSMutableArray *blockXCoord = [NSMutableArray array]; // Retain it as needed. 
    NSMutableArray *blockYCoord = [NSMutableArray array]; 
    for (int i=0; i != blockCountToSpawn; i++) 
    { 
     [blockXCoord addObject:[NSNumber numberWithInt:(arc4random() % 4)]; 
     [blockYCoord addObject:[NSNumber numberWithInt:(arc4random() % 4)]; 
    } 

    ... 
} 

,如果你要搜索2然后做这个

if ([blockXCoord indexOfObject:[NSNumber numberWithInt:2]] != NSNotFound) { 
    ... do stuff 
} 

if ([blockXCoord containsObject:[NSNumber numberWithInt:2]]) { 
    ... do stuff 
} 

编辑

for (int i = 0; i < [blockXCoord count]; i++) { 
    NSPoint point = NSMakePoint([[blockXCoord objectAtIndex:i] intValue],[[blockYCoord objectAtIndex:i] intValue]); 

    ... do something with the point. 
} 
+0

感谢您的奖金,但原来的问题仍然在减少。 – evdude100 2011-05-28 04:58:39

+0

我没有得到你。用这个替换当前的任务,它应该工作,对吧? – 2011-05-28 05:00:20

+0

也许我很困惑[blockXCoord addObject:[NSNumber numberWithInt:(arc4random()%4)];它添加到的阵列在哪里? – evdude100 2011-05-28 05:01:34

2

对于你的第一个问题:把你的结果放在一个常规的数组中,就像任何C程序或者NSMutableArray一样。对于第二个问题:如果您使用NSMutableArray来存储对象(比如NSNumber),您可以调用containsObject:来确定对象是否在数组中。 http://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Classes/NSArray_Class/NSArray.html#//apple_ref/occ/instm/NSArray/containsObject

+0

containsObject听起来不错!谢谢 :-) – evdude100 2011-05-28 05:07:17