問題があります。 ARCは私のプロパティを子クラスと同期させるようです。 ここで問題がjdViewController's
ジョブプロパティは[[jobsWithPipes objectAtIndex:indexpath.row] job]
と同期することで、コードARCの奇妙な動作によって、値を保持する代わりに子ビューにコピーされます
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"tableView:didSelectRow: %i", indexPath.row);
JobDetailViewController *jdViewController=[[JobDetailViewController alloc] initWithNibName:@"JobDetailViewController" bundle:nil];
jdViewController.delegate=self;
[jdViewController setJob:[[jobsWithPipes objectAtIndex:indexPath.row] job]];
[self.navigationController pushViewController:jdViewController animated:YES];
}
です。プロパティはすべてnonatomic, retain
です。 jdViewController
のNSNumber* foreman
プロパティを変更すると、新しい値が親ビューコントローラにコピーされます。どうして? ARCはこのオブジェクトにretainの代わりにcopyを使用しているようです。助けてください
[copy setPicture:[[UIImage allocWithZone:zone] initWithCGImage:[self.picture CGImage]]; 'これは' copyWithZone'のコードの一部です。そうですか? – Oleg
私は考えていません - 私はより多くの文脈を必要とします。また、 'copy'はオブジェクトのひどい名前です。 – yuji