我有這種模式:從陣列中提取數據只有最後顯示
@interface Data : NSObject
@property (nonatomic, assign) int Period;
@property (nonatomic, assign) NSDate *Start;
@property (nonatomic, assign) NSDate *End;
@end
@implementation Data
@synthesize Period, Start, End;
@end
我在可變數組添加數據。
@property (strong, nonatomic) NSMutableArray* myArray;
self.myArray = [NSMutableArray arrayWithCapacity:0];
Data *element =[ [Data alloc] init];
element.Period = 1;
element.Start = dateStart1;
element.End = dateEnd1;
[self.myArray addObject:element];
element.Period = 2;
element.Start = dateStart2;
element.End = dateEnd2;
[self.myArray addObject:element];
element.Period = 3;
element.Start = dateStart3;
element.End = dateEnd3;
[self.myArray addObject:element];
爲什麼從數組i中提取Period時只接收到最後一個元素x 3 ???
Data * NumElement = [self.myArray valueForKey:@"Period"];
NSLog(@"All period: %@", NumElement);
我收到3 3 3而不是1 2 3?
謝謝,它工作正常。 – Fabrizio
不客氣。還有一點:除非他們對語言進行了重大更改,否則像int這樣的非對象非指針標量屬性不會採用「非原子」或「分配」。只需要這樣做:@property int Period;但保留其他2個屬性。 – Wienke