2012-06-22 2 views
0

나는 UITableView에 searchtwitter.com의 피드로 채워집니다. 또한 UILabel 이미지가있는 세부 정보 테이블이 있습니다. 이 모든 작업을하고 있지만 UIImage 및 레이블을 속성 목록에 저장하는 세부 정보 페이지에 UIButton을 추가하려고합니다. 나는 이것에 아주 새롭다; 여기에 내가 지금까지 가지고있는 것이있다.JSON으로 구문 분석 된 트위터 피드의 데이터를 Plist에 저장

- (IBAction)SaveFriend:(id)sender 
{ 
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

    NSString *documentDirectory = [path objectAtIndex:0]; 

    NSString *plistPath = [documentDirectory stringByAppendingPathComponent:@"TwitterFriends.plist"]; 

    NSDictionary * tweet = [[NSDictionary alloc]init]; 

    NSString *text = [tweet objectForKey:@"from_user"]; 
    NSString *user = [tweet objectForKey:@"from_user_name"]; 

    personName.text = text; 
    personInfo.text = user; 

    // create dictionary with values in UITextFields 
    NSDictionary *plistDict = [NSDictionary dictionaryWithObjects: [NSArray arrayWithObjects: personName, personInfo, nil] forKeys:[NSArray arrayWithObjects: @"Name", @"info", nil]]; 

    NSString *error = nil; 
    // create NSData from dictionary 
    NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict format:NSPropertyListXMLFormat_v1_0 errorDescription:&error]; 

    // check is plistData exists 
    if(plistData) 
    { 
     // write plistData to our Data.plist file 
     [tweet writeToFile:plistPath atomically:YES]; 
    } 
    else 
    { 
     NSLog(@"Error in saveData: %@", error); 
     [error release]; 
    } 
} 

답변

0

.plist를 사용하는 대신 NSArray 또는 NSMutableArray를 사용하고 writeToFile 메서드를 사용하십시오. 예 :

NSMutableArray *temp = [NSMutableArray new]; 
[temp addObject:image]; 
[temp addObject:label]; 
[temp writeToFile:[self saveFilePath:@"filename"] atomically:YES]; 


//Returns the saved information path 
- (NSString*) saveFilePath: (NSString *) add 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 
    NSString *path = [paths objectAtIndex:0]; 
    NSString *filename = [path stringByAppendingPathComponent:add]; 
    return filename; 
} 
+0

감사합니다. 매우 유용합니다. 그 일하는 지금 :) – Tottih84

관련 문제