2014-03-06 4 views
0

어디 선가 붙어. NSMutableDictionary 내 모델 클래스에서 이름을 Data.h & .m 만들고 싶습니다. 그리고 일부 내 컨트롤러에서 일부 개체를 추가하고 싶습니다.addObjects은 (NSObject의 클래스) NSMutableDictionary

내 모델하는 .m 파일

#import "Data.h" 
//Dictiniory and Array Definitions... 

NSMutableArray *plist; 
NSMutableDictionary *kartlarDict; 
@implementation Data 

+(void)load{ 
    plist = [[NSMutableArray alloc] initWithObjects:@"Garanti", nil]; 
} 

+(NSMutableArray *)getPlistArray { 
    return plist; 
} 

//set Methots for kartlarDict... 
-(id)initWithBankaAdi:(NSString *)aBankaAdi KartAdi:(NSString *)aKartAdi{` 

     bankaFK = @"BankaAdi"; 
     kartFK = @"KartAdi"; 

     bankaAdi = aBankaAdi; 
     kartAdi = aKartAdi; 

     NSMutableDictionary *tmpKartlarDict = [[NSMutableDictionary alloc]  initWithObjectsAndKeys: 
              bankaAdi,bankaFK, 
              kartAdi,kartFK, nil]; 

     [kartlarDict addEntriesFromDictionary:tmpKartlarDict]; 

     return self; 
} 

//get Methots for kartlarDict... 
+(NSMutableDictionary *)getKartlarDict{ 
    return kartlarDict; 
} 

@end 

내하는 .m 컨트롤러 파일이 있습니다 .. 좀 Methots을 시도하지만 난 그것을 couldnt한다.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [Data getKartlarDict]; 
    [Data getPlistArray]; 
    NSLog(@"%@",[Data getKartlarDict]); 

    Data *p1 = [[Data alloc] initWithBankaAdi:@"HSBC" KartAdi:@"Advantage Kart"]; 

    kartlarListe = [[NSMutableArray alloc] initWithObjects:[Data getKartlarDict], nil]; 
} 

나는 일부 NSMutableDict 또는 배열을 만들려면 그리고 난 내 컨트롤러 파일을 설정할 물론 나는 다시 다른 모든 컨트롤러 파일을 싶어.

어떻게하면됩니까? 도와주세요 !

참고 :이 언어 a.s.a.p.를 배우고 싶은 사촌 I'am 초보자는 이제하지만 난 항상이 일 5 시간 잠

-(id)initWithBankaAdi:(NSString *)aBankaAdi KartAdi:(NSString *)aKartAdi{` 
    bankaFK = @"BankaAdi"; 
    kartFK = @"KartAdi"; 
    bankaAdi = aBankaAdi; 
    kartAdi = aKartAdi; 

    NSMutableDictionary *tmpKartlarDict = [[NSMutableDictionary alloc]  initWithObjectsAndKeys: 
             bankaAdi,bankaFK, 
             kartAdi,kartFK, nil]; 

    [kartlarDict addEntriesFromDictionary:tmpKartlarDict]; 

// kartlarDict is nil here!!!!!!!!!!!!!! 
    return self; 
} 

변화

[kartlarDict addEntriesFromDictionary:tmpKartlarDict]; 

kartlarDict = [NSMutableDictionary dictionaryWithDictionary:tmpKartlarDict] 

또는에 : 나는 kartlarDict가 초기화되지 않습니다 당신의 init 메소드에서 ..

+0

당신이하고 또는 무엇 주요 질문은하는지. kartlarDict 객체를 생성하지 않는 것으로 보입니다. 그러나 객체간에 값을 전달하고자하는 욕구를 표현하면 전체적인 별도의 토론이됩니다. 객체 지향 원칙을 이해하면 매우 간단하지만 그렇지 않은 경우에는 매우 어렵습니다. –

답변

0

이보십시오, 나는 설명했다 : 그것은 불분명

-(id)initWithBankaAdi:(NSString *)aBankaAdi KartAdi:(NSString *)aKartAdi{ 
     if(self = [self init]){ //First of all, you should call super init or self basic init method 
      //following code will be more clear. 
      NSMutableDictionary *tmpKartlarDict = [[NSMutableDictionary alloc]  initWithObjectsAndKeys: 
               aBankaAdi,@"BankaAdi", 
               aKartAdi, @"KartAdi", nil]; 

      if(!kartlarDict){ //Maybe kartlarDict init in the above basic init method, if not, ignore the judgement. 
       kartlarDict = [NSMutableDictionary dictionaryWithDictionary:tmpKartlarDict] 
      } 
      else{ 
       [kartlarDict addEntriesFromDictionary:tmpKartlarDict]; 

      } 
     } 
     return self; 
    } 
+0

답장을 보내 주셔서 감사합니다. 1 년이되었습니다. 나는 지금 대답하고있다. 정말 유감이다. – emresancaktar

0

을 너무 많은 YouTube 동영상, 사과 자원을 보았다

,
+0

답변 해 주셔서 감사합니다. 1 년이되었습니다. 나는 지금 대답하고있다. 정말 유감이다. – emresancaktar