Please, correct me, where i'm wrong (i'm a begginer) I want to store a class objects into NSArray. For example:
MySimpleClass *mscObj = [[MySimpleClass alloc] initWithSomething:@"something"];
NSMutableArray *myarr = [[NSMutableArray alloc] init];
[myarr addObject:mscObj];
mscObj = @"somethingelse";
And then my myarr index 0 change from @"something" to @"somethingelse". Why? Can i store a copy only to array?
EDIT: In MySimpleClass:
#import <Foundation/Foundation.h>
@interface MySimpleClass : NSObject {
}
@property (strong,nonatomic) NSString *objectName;
@property (strong,nonatomic) NSString *objectTarget;
-(void)addName:(NSString*)name;
-(void)addTarget:(NSString*)target;
@end
.m file
#import "MySimpleClass.h"
@implementation MySimpleClass
@synthesize objectName;
@synthesize objectTarget;
-(void)addName:(NSString*)name{
self.objectName = name;
}
-(void)addTarget:(NSString*)target{
self.objectTarget = target;
}
-(void)flushAll {
self.objectTarget = nil;
self.objectName = nil;
}
@end
Then In other class i have:
MySimpleClass *mscObj = [[MySimpleClass alloc] initWithSomething:@"something"];
[myarr addObject:[mscObj copy]];
int testunit = [myarr count];
for(int i=0;i<testunit;i++) {
MySimpleClass *myelement = [myarr objectAtIndex:i];
NSLog(@"%@ : %@",myelement.objectName,myelement.objectTarget);
}