2012-08-09 1 views
3

, 그럼 내가 키 설정하고 사전에 ArrayValue를 할당하려고하지만 응용 프로그램은아이폰의 NSDictionary에서 배열 값과 키를 설정하는 방법은 무엇입니까? 내가 날짜를 저장할 수있는 NSMutableArray를 사용하고 여기에

Here i tried the code for your reference: 

    [DateArray addObject:dateString]; //NSMutablArray 
    NSMutableDictionary *myDictionary =[[NSMutableDictionary alloc]init];   
    [myDictionary setObject:DateArray forKey:@"Date"]; //put array value and set key in NSDictionary. 

답변

9

NSDictionary 클래스는 변경할 수 없습니다. NSMutableDictionary로 변환해야합니다.

+0

NSMutableDictionary를 사용하여 날짜를 저장 한 다음이 사전을 정렬하는 방법은 가능합니까? – SampathKumar

+0

다음 q & a를 참조하십시오. http://stackoverflow.com/questions/4558639/sort-an-nsmutabledictionary http://stackoverflow.com/questions/8118932/how-can-i-sort-nsmutabledictionary-with-keys-value –

+0

실제로 여기에 변경 가능한 사전을 사용할 필요가 없으며 대신 적절한 'init' 메소드 또는 새로운 구문을 사용하십시오. –

-2

이처럼 수행 사전에 나에게

감사를 도와주세요, 추락 :

for(int i=0;i<[DateArray count]; i++) 
{ 
    [myDictionary addObject:[DateArray objectAtIndex:i] forKey:@"Date"]; 
} 
+0

덕분에 답장을 보내 주시면 최대한 빨리 확인하고 업데이트하겠습니다. – SampathKumar

+1

'myDictionary'는 변경할 수 없습니다. 당신은'addObject : forKey :'를 호출 할 수 없습니다. – deanWombourne

2

NSDictionary를 사용 중입니다. NSMutableDictionary를 사용해야합니다. NSDictionary는 변경할 수 없습니다. NSDictionary를 사용하려면 다음 방법을 사용하십시오.

- (id)initWithObjects:(NSArray *)objects forKeys:(NSArray *)keys; 
+0

답장을 보내 주셔서 감사합니다. – SampathKumar

+0

이제 NSMutableDictionary를 사용하여 날짜를 저장 한 다음이 사전을 정렬하는 방법은 가능합니까? – SampathKumar

+0

사전을 정렬 할 수 없습니다. 배열을 정렬 할 수 있습니다. 또한 전에 대답했기 때문에 내 대답을 받아 들여야합니다. – Apurv

2

당신이 엑스 코드 버전 4.4을 사용하는 경우 또는 나중에이 나타나서는이 작업을 수행 할 수 있습니다

[dateArray addObject:dateString]; //NSMutablArray 
NSDictionary *myDictionary = @{ @"Date", dateArray }; 
0

당신은 NSDictionary을 사용하고이 라인을 시도 NSMutableDictionary

를 사용해야하는 경우 :

NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] init]; 

iOS의 대부분의 컬렉션 클래스는 변경 가능하고 변경할 수없는 버전 (즉,

NSArray -> NSMutableArray 
NSSet -> NSMutableSet 
NSDictionary -> NSMutableDictionary 
(and others) 

변경 가능한 버전으로 내용을 수정할 수 있습니다. 그러나 변경하지 않으려는 경우 변경할 수없는 버전이 약간 더 빨리 사용됩니다.

당신은 (보통)을 mutableCopy 방법의 예를

// This array can't be changed 
NSArray *myArray = @[ @"A", @"B", @"C" ]; 

// This array contains everything from the previous array but can now be modified 
MSMutableArray myArray2 = [myArray mutableCopy]; 

NB를 사용하여 nonmutable 하나에서 변경 가능한 클래스를 얻을 수 있습니다 : 가변 서브 클래스가 NSURL을 즉이 다른 클래스도 있습니다 ->NSMutableURL

+0

긴 답변에 답하기 전에 다시 질문을 확인하십시오. –

+0

잠깐만, 편집하고 클래스 이름을 변경 가능에서 변경 가능으로 변경 했습니까? __ 너는 묻고있는 질문을 바꾸었다. 원래의 질문자를 아십니까? 편집은 질문을 더 정확하게 묻는 것, 수정하지 않기 위해 고안되었습니다. 코드를 수정하려면 질문에 답하십시오! – deanWombourne

+0

편집자의 이름을 확인하고 나를 비난하지 마십시오. –

관련 문제