이 코드가 : 두 번째 경고를 올바르게하지만 장치에 아무것도 표시되지 않습니다 파일의 내용을 보여줍니다 시뮬레이터에장치에 plist를 쓰는 방법은 무엇입니까? 목표 C 아이폰
#define ALERT(X) {UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Info" message:X delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];[alert show];[alert release];}
- (id)readPlist:(NSString *)fileName {
NSData *plistData;
NSString *error;
NSPropertyListFormat format;
id plist;
NSString *localizedPath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"plist"];
plistData = [NSData dataWithContentsOfFile:localizedPath];
plist = [NSPropertyListSerialization propertyListFromData:plistData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&error];
if (!plist) {
NSLog(@"Error reading plist from file '%s', error = '%s'", [localizedPath UTF8String], [error UTF8String]);
[error release];
}
return plist;
}
- (void)writeToPlist: (NSString*)a
{
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"data.plist"];
NSMutableArray* pArray = [[NSMutableArray alloc] initWithContentsOfFile:finalPath];
[pArray addObject:a];
[pArray writeToFile:finalPath atomically: YES];
ALERT(@"finished");
/* This would change the firmware version in the plist to 1.1.1 by initing the NSDictionary with the plist, then changing the value of the string in the key "ProductVersion" to what you specified */
}
- (void)viewDidLoad {
[super viewDidLoad];
[self writeToPlist:@"this is a test"];
NSArray* the = (NSArray*)[self readPlist:@"data"];
NSString* s = [NSString stringWithFormat:@"%@",the];
ALERT(s);
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
을 ?? 내가 뭘 잘못하고있어? 코드/스 니펫을 보여주십시오 ....
[아이폰 SDK : 시뮬레이터에 PLIST에 데이터를 쓸 수 있지만 장치에서 같은 일을 할 수 없어 ???]의 중복 (http://stackoverflow.com/questions/4132477/iphone-sdkcan-write -data-to-plist-on-simulator-do-cant-do-same-at-device) –