取り込んだ JSON データにアクセスするのに少し問題があります。次のように、JSONModel を使用して JSON データを取得しています。
私の LeftViewController.m の上部
@interface LeftViewController ()
{
PostgresFeed* _feed;
}
そして、下に:
-(void)viewDidAppear:(BOOL)animated
{
JSONHTTPClient getJSONFromURLWithString:@"myurl" completion:^(NSDictionary *json, JSONModelError *err) {
NSError *error = nil;
_feed = [[PostgresFeed alloc] initWithDictionary:json error:&error];
NSLog(@"Players: %@", feed.player);
[self.tableView reloadData];
}];
}
-(void)fetchedData:(NSData *)responseData
{
NSError* error;
NSDictionary* playerData = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
NSMutableDictionary* player = [playerData objectForKey:@"player"];
}
- (id)initWithCoder:(NSCoder *)aDecoder
{
if (self = [super initWithCoder:aDecoder])
{
_feed.player = [NSMutableArray array];
}
return self;
}
そして私のPostgresFeed.hで
@property (nonatomic, strong) NSString *playerName;
@property (nonatomic, strong) NSString *currentScore;
@property (nonatomic, strong) NSArray *totalPenalties;
@property (nonatomic, strong) NSString *timePlayed;
そして私のPostgresFeed.mには何もありません
このようにすると、MasterDetail の tableView である LeftViewController に必要なすべてのデータが取得されます。を見るとNSLog(@"Players: %@", feed.player);
、データベースから必要なすべてのデータを取得していることがわかります。
DetailViewController に入力する必要があることがわかっているこのデータにアクセスするにはどうすればよいですか? NSUserDefaults を使用する必要がありますか? このデータを取得、解析、および保持する新しいクラスを作成する必要がありますか?
私はこれに慣れていないので、チュートリアル、またはチュートリアルのような指示を教えていただければ幸いです。さらにコードや詳細が必要な場合は、お知らせください。
****編集****
@soryngod の提案に従って NSNotificationCenter を適用すると、RightViewController で次の出力が得られますNSLog(@"%@", notification.userinfo);
。
2013-07-04 12:20:26.208 PlayerTracking[25777:11303] {
player = (
{
currentScore = "4";
totalPenalties = (
);
id = 9;
name = "Jakob Melon";
timeStarted = "2013-06-05 19:56:10";
},
{
currentScore = 16;
totalPenalties = (
);
id = 10;
name = "John China";
timeStarted = "2013-06-06 17:21:300";
},
{
currentScore = 178;
totalPenalties = (
);
id = 11;
name = "Jason Dog";
timeStarted = "2013-06-07 19:26:10";
},
{
currentScore = 1233;
totalPenalties = (
);
id = 12;
name = "Fox Wolfe";
timeStarted = "2013-06-05 19:56:10";
},
{
currentScore = 234;
totalPenalties = (
);
id = 13;
name = "Dakota Cool";
timeStarted = "2013-06-05 19:56:10";
},
{
currentScore = "34234";
totalPenalties = (
);
id = 14;
name = "Max Face";
timeStarted = "2013-06-05 19:00:30";
},
{
currentScore = "2342";
totalPenalties = (
);
id = 15;
name = "Jonatan Blah";
timeStarted = "2013-06-05 18:00:30";
},
{
currentScore = "234234";
totalPenalties = (
);
id = 16;
name = "Thomas Bus";
timeStarted = "2013-06-05 19:56:10";
},
{
currentScore = 34566;
totalPenalties = (
);
id = 17;
name = "Super Cake";
timeStarted = "2013-06-05 17:51:30";
},
{
currentScore = "23463";
totalPenalties = (
);
id = 18;
name = "Duke Nukem";
timeStarted = "2013-06-07 19:26:10";
},
{
currentScore = "12362";
totalPenalties = (
);
id = 19;
name = "Gordon Freeman";
timeStarted = "2013-06-05 19:56:10";
}
);
}
名前は気にしないでください。