2012-12-18 81 views
1

如何創建同一對象的多個實例並以有效的方式在數組中調用它們? 我知道for循環,但不熟悉Objective-C語法。這是我目前有:陣列中的對象

ViewController.h

NSArray *wArray; 
NSInteger w0, w1, w2, w3, w4, w5, w6, w7 , w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28; 

@property NSArray *wArray; 
@property NSInteger w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28; 
@end 

ViewController.m

@synthesize w0, w1, w2, w3, w4, w5, w6, w7 , w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, wArray; 

wArray = [NSArray arrayWithObjects: w0, w1, w2, w3, w4, w5, w6, w7 , w8, w9, w10, w11, w12, w13, w14, w15, w16, w17, w18, w19, w20, w21, w22, w23, w24, w25, w26, w27, w28, nil]; 

提前感謝!

+1

'NSInteger'是一個整數的類型定義(具體大小取決於你的目標),它不是一個對象。 'NSArray'只需要對象。 – DrummerB

+0

您不要將指針/屬性放在數組中,而是將對象放在那裏。除非你使用指向對象的指針來初始化w0..w28,否則不會進入數組。 (並且,DrummerB說,你不能將NSInteger放入數組中 - 使用一個NSNumber,它是一個對象。) –

+0

@DrummerB'NSInteger'是'int'的'typedef' –

回答

0

創建的NSMutableArray及用途:

for(int i = 0; i < 20; i++) { 
     [array addObject:someObject]; 
    } 

如果你想存儲整數你可以使用:

[array objectAtIndex:1]; 
+0

將我的對象編號(w0,w1,w2等)? – user1575528

+0

看我的回答你如何訪問這些。 –

0

NSNumber *someObject = [NSNumber numberWithInteger:1]; 

然後,您可以通過訪問這些對象爲什麼不使用int作爲

int num[29]; //NSInteger and int are the same 

和訪問他們作爲

num[0] = 15; 
num[1] = 19; 
... 
... 
... 
+0

如果我要存儲UIImageView? – user1575528

+0

爲此,您可以使用'NSMutableArray'來存儲'UIImageView'對象 –

0
for(int i = 0; i < 20; i++) 
{ 
    [yourarray addObject:[NSString stringWithFormat:@"w%d",i]]; 
}