plist 파일에서 데이터를 가져 오는 클래스가 있습니다.NSMutableArray에서 객체의 인스턴스 변수 가져 오기
@interface myClass : NSObject
{
NSString *string;
}
@property (copy) NSString *string;
-(id)getData:(NSString *) a :(NSInteger) i;
@end
다음은 구현 예입니다.
@implementation myClass
-(id)getData:(NSString *) a :(NSInteger) i
{
myClass *class = [[myClass alloc]init];
NSString *path = [[NSBundle mainBundle] pathToResource:a ofType:@"plist"];
NSArray *myArray = [[NSArray alloc] initWithContentsOfFile:path];
class.string = [myArray objectAtIndex:i];
return class;
}
내 방법 getData
은 문자열과 정수 인수를 가지고 있습니다. 이 메서드는 for 루프 안에 배치되도록 만들어져 i
인수는 for 루프 인덱스가됩니다. 아래는 그 안에있는 방법입니다.
-(id)init
{
self = [super init];
if (self)
{
//this is a NSMutableArray that i created in the .h file this method is in
list = [[NSMutableArray alloc]init];
for(int i = 0; i < 5; i++)
{
[list addObject:[[[myClass alloc]init] getData: @"file" :i]];
}
//this is a NSTextField that i create in the .h file that this init method is in
[instructions setStringValue:[list objectAtIndex:0].string];
}
return self;
}
내가 내가 목록있는 NSMutableArray에 저장된 myClass.string
값의 지시에 NSTextField있는의 문자열 값을 설정해야합니다. 이것을 할 수있는 방법이 있습니까? 당신이, 그 객체의 인스턴스 변수를 통해 전달하지하거나 액세스하는 또 다른 방법이있다 않는 목록에서 개체를 저장할 때
내가 시도 할 때마다 [instructions setStringValue:[list objectAtIndex:0].string].
을 할까?
다른 구문 시도 [[[objectAtIndex : 0] 문자열]] –
코드가 깨졌습니다. 삽입 한 각각에 대해 두 개의 myClass 인스턴스를 생성한다. 그리고'string' 속성이 적절하게 유지된다는 것이 확실하지 않습니다. –
코드가 효율적이지 않습니다. 동일한 파일을 반복해서로드하고 있습니다. 한 번만로드하십시오! – Merlevede