2012-04-11 3 views
0

외부 클래스 파일에 데이터를 저장하고 있지만 Bool 값인 을 매개 변수로 저장하는 동안 오류가 발생합니다. 다음은 소스 코드 .savefile.h사전 값의 매개 변수를 설정하는 방법

-(void) saveDecreasedActivity:(NSInteger) bathing 
       meal:(NSInteger) meal withTitle:(NSString *)title independentItem:(BOOL)timeItem; 

     { 
      NSMutableDictionary *lDataObj = [[NSMutableDictionary alloc] init]; 

      [lDataDict setValue:lSeqCounter forKey:@"seqCounter"]; 

      [lDataObj setValue:timeItem forKey:@"independentItem"]; 
     } 

내가 그것은 사전에

timeItem is incompatible integer to pointer conversion sending "BOOL" (aka singned char) to parameter of type id 

감사를 보여주는 다른 클래스

[saver saveDecreasedActivity:[self.bathingControl selectedSegmentIndex] 
           meal:[self.mealControl selectedSegmentIndex] withTitle:lTitle independentItem:YES]; 

을에 데이터를 저장해야

답변

2

원시 형식 (정수, 부울 등)을 저장할 수 없습니다. 키 값 쌍 (see docs)의 모음 인 NSDcitionary에 있습니다. 귀하의 경우에는

, 당신은 사용할 수 있습니다

[NSNumber numberWithBool: timeItem]; 

에 :

[lDataObj setValue:[NSNumber numberWithBool: timeItem] forKey:@"independentItem"]; 
1

할 수 있습니다 만 저장 사전에 개체 및이처럼 포장 그래서 BOOL는 유형 :

[dictionary setValue:[NSNumber numberWithBool:aBool] forKey:@"yourKey"]; 

이처럼 검색 :

BOOL aBool = [[dictionary objectForKey:@"yourKey"] boolValue]; 

자세한 내용은 NSNumber 클래스 참조를 확인하십시오.

관련 문제