뷰 콘트롤러에 UIcollectionview를 배치했습니다 (성공적으로 작동했습니다). 다른 뷰 컨트롤러를 열고이 셀의 레이블을 선택한 셀 텍스트로 업데이트하려고합니다. 나는 코드를 다음 사용하고 있지만 (다른 VC의 라벨을 업데이트하지 않음) 작동하지 않습니다 :uicollectionview 셀 선택시 다른 viewcontroller의 uiLabel이 업데이트되지 않습니다
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
// gorseldetay is another viewcontroller including a label and an image
NSLog(@"Row : %d , Section : %d", indexPath.row, indexPath.section);
[self performSegueWithIdentifier:@"showDetail" sender:self];
gorselDetay *g = [self.storyboard instantiateViewControllerWithIdentifier:@"gorselDetay"];
NSLog(@"%@",g.mylabel2.text); // returns "null"
g.mylabel2.text = @"any text to update";
NSLog(@"%@", g.mylabel2.text); // returns "null"
}
와 나는 또한 추가 prepareForSegue 작용 제가 위에서 말했듯이
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"%@", segue.identifier); // returns "showDetail", OK
if ([[segue identifier] isEqualToString:@"showDetail"])
{
UIImage *imageim2 = [UIImage imageNamed:@"anyimage.png"]; //this file exists
gorselDetay *r1 = (gorselDetay *)[segue destinationViewController];
[r1.mylabel2 setText:@"any text to update"];
r1.gorselim.image = imageim2;
NSLog(@"2 - %@", r1.mylabel2.text); // returns "null"
}
}
는, UICollectionView가 성공적으로 채워집니다 및 그래도 작동하지만 다른 viewcontroller (gorselDetay)의 레이블은 업데이트되지 않습니다. 그러나 gorselDetay vc가 성공적으로 열립니다.
도움 주셔서 감사합니다.
<인스턴스 변수 "any_variable_name"이 (가) 보호됩니다> 다른 VC에서 변수를 업데이트하려고하면 오류가 반환됩니다. –
확인되었습니다. 고맙습니다 –