2017-11-02 3 views
-2

행당 여러 개의 데이터가있는 배열을 만들 수 있습니까? 거의 엑셀 스프레드 시트와 같은인덱스 당 여러 항목이있는 배열 (배열 배열)

그래서보다는

NSArray *sampleArray1 = @[@"Name1",@"Name2",@"Name3"]; 
NSArray *sampleArray2 = @[@"Age1",@"Age2",@"Age3"]; 

을 가진 당신의 테이블 뷰 셀에 각 배열의 [indexPath row]을 반환 할 필요가 대신 할 수 :

NSArray *superArray = @[@"Name1"|@"Age1", @"Name2"|@"Age2",@"Name3"|@""]; 

것은 반환하는 한 번에 선택한 색인에 대한 귀하의 모든 정보.

저는 스위프트에서 어떻게 할 수 있는지 잘 알고 있습니다. 보통 struct을 만들고 배열 변수를 지정합니다.

struct superArray { 
    var names = [String]() 
    var ages = [String]() 
} 

나는 단순히 할 수 cell.myLabel = superArray.names.indexPath[row]

언제 설치 나는 테이블에 표시 할 필요가있는 행수를 위해 뭔가를 반환해야 내의 tableview를. 현재 Objc 프로젝트에서 방금 더미 배열을 구현했으며 모든 배열은 같은 크기이며,이 중 하나만 반환합니다. 불완전한 매개 변수 (어쩌면 나이이지만 이름이 아님)가있는 데이터 세트를 검색 할 수 있기 때문에 내 눈이 좋지 않습니다. 그러면 테이블에 잘못된 정보가 표시되고 올바르게 표시되지 않습니다.

+2

이름과 나이가있는 사용자 개체를 만드는 것이 어떨까요? 그런 다음 1 개의 배열을 사용하여 저장하십시오. OOP에 대해 더 자세히 알아야한다고 생각하십니까? – Tj3n

답변

0

의견에서 언급했듯이이 문제를 해결하는 것은 매우 기본적인 문제입니다. 이러한 요소가 포함 된 배열에 객체를 저장하려고합니다. 당신이 목표 - C에 대해 좀 더 배울 필요가 있습니다처럼

@interface User: NSObject 

@property (nonatomic, strong) NSString *name; 
@property (nonatomic, assign) NSInteger age; 

@end 

NSArray<User *> *users = @[...]; 

는 것 같습니다. SO는 특정/복잡한 문제를 해결하는 데 도움이됩니다. 그러나 나는 적어도 당신을 올바른 길로 인도하기를 바랍니다.

+0

알 수 있듯이 배열에 어떤 객체도 포함될 수 있습니다. 나는 정수와 문자열 등의 관점에서 생각하고있었습니다. 제가 원했던 프로젝트에이를 구현했는데 모든 것이 작동합니다! 건배 – Axemasta