Wciąż otrzymuję błąd:Nierozpoznany selektor wysyłane do instancji UIViewController
NSInvalidArgumentException', reason: '-[UIViewController setPhotoCellName:]: unrecognized selector sent to instance
kiedy Moje przygotowania do rozmowy Segue. Obecnie mam
TabBarController->NavigationController->TableViewController->TableViewController->ViewController
z obrazem interfejsu użytkownika.
Problem występuje, gdy próbuję przejść z drugiego kontrolera TableView do ViewController. Mam ustawienie przełącznika z Prototype Cell do rzeczywistego ViewController. Wchodzi w tryb i rozbija. Próbuję przekazać właściwość NSArray
do viewController
, aby móc użyć adresu URL i wyświetlić UIImage
. PhotoInPlace zawiera tablicę, którą próbuję przekazać. Oto kod.
Kod myTableViewControllerPhotoLocation.m
#import "myTableViewControllerPhotoLocation.h"
#import "FlickrImageViewController.h"
@interface myTableViewControllerPhotoLocation()
@end
@implementation myTableViewControllerPhotoLocation
@synthesize photoInPlace = _photoInPlace; //Contains NSArray to pass
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"Photo Display"]){
NSIndexPath* indexPath = [self.tableView indexPathForCell:sender];
NSLog(@" Dicitonary = %@", [self.photoInPlace objectAtIndex:indexPath.row]); //Returns the picked cell
NSLog(@"%@", [self.photoInPlace class]); //returns NSArray
NSLog(@"%@", [self photoInPlace]); //Returns the array
[segue.destinationViewController setPhotoCellName:[self.photoInPlace objectAtIndex:indexPath.row]];
//Crashes HERE!
}
}
Kod FlickrImageViewController.h
@property (nonatomic, strong) NSArray* photoCellName;
Kod FlickrImageViewController.m
#import "FlickrImageViewController.h"
@interface FlickrImageViewController()
@end
@implementation FlickrImageViewController
@synthesize photoCellName = _photoCellName; //property declared in header
-(void) setPhotoCellName:(NSArray *)photoCellName{
if(!_photoCellName)
_photoCellName = [[NSArray alloc] initWithArray:photoCellName];
else {
_photoCellName = photoCellName;
}
}
Użyłem tego stylu kodu, aby przekazać tablicę w poprzedniej TVC Nie wiem, dlaczego jej awarie na tym –