Tôi tạo ra plist với cơ sở lớn của các loài động vật khác nhau trong đó (phím) và thêm plist này trong dự án của tôi. Loại của mỗi động vật là NSDictionary. Trong mỗi từ điển có thêm 5 khóa - đặc điểm của những con vật này(). Tôi muốn đi qua mọi con vật và nếu tôi phù hợp với một số đặc điểm của con vật này, tôi đặt con vật này vào một mảng khác.Đọc tập tin plist
Vì vậy, tôi đã cố gắng để làm cho một mã số:
NSArray *newArray = [[NSArray alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"animals" ofType:@"plist"]];
for (int i = 0;[newArray objectAtIndex:i];i++)
{
if ([[newArray objectAtIndex:i]objectForKey:@"minAge"] == [NSNumber numberWithInt:3])
{
[array addObject:[[newArray objectAtIndex:i]objectForKey:@"name"]];
}
}
Vì vậy objectAtIndex:i
là một con vật và minAge
là một trong những đặc điểm của nó. Nhưng mã của tôi không hoạt động. Tôi làm điều đó lần đầu tiên, vì vậy những gì tôi đã làm sai? Cảm ơn!
CẬP NHẬT: Cảm ơn bạn, plist của bạn hoạt động bình thường! Nhưng tôi vẫn không thể hiểu lý do tại sao không hoạt động của tôi plist:
Dù sao, cảm ơn bạn rất nhiều! Tôi không ăn và ngủ trong khi tôi giải quyết vấn đề này :) Bạn đã giúp tôi rất nhiều!
Cảm ơn bạn markhunte! Có, mảng trả về nil trong bảng điều khiển. Tôi đã thử mã của bạn nhưng nó cũng không hoạt động. Có lẽ tôi có vấn đề với tập tin plist của tôi? – Cosinus
Tôi chỉ cần đặt một ví dụ plist trong câu trả lời của tôi. Hãy thử nó với điều đó. – markhunte
Chà, nó hoạt động hoàn hảo! Cảm ơn bạn rất nhiều !Xin vui lòng, kiểm tra tin nhắn chính của tôi :) – Cosinus