Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 未调用类的Setter_Ios_Objective C_Class_Selector_Setter - Fatal编程技术网

Ios 未调用类的Setter

Ios 未调用类的Setter,ios,objective-c,class,selector,setter,Ios,Objective C,Class,Selector,Setter,我正在尝试实现一个car2go风格的应用程序,你可以点击一个注释视图,然后预订汽车。问题是,当我试图将我想要传递给car对象的segue时,我检查该对象是否执行选择器集vehicle,但是if语句失败,尽管我非常确定它已实现。有人能告诉我为什么吗?这是一个学校项目 #import "MapViewController.h" #import <MapKit/MapKit.h> #import <CoreLocation/CoreLocation.h> #import "Ve

我正在尝试实现一个car2go风格的应用程序,你可以点击一个注释视图,然后预订汽车。问题是,当我试图将我想要传递给car对象的segue时,我检查该对象是否执行选择器集vehicle,但是if语句失败,尽管我非常确定它已实现。有人能告诉我为什么吗?这是一个学校项目

#import "MapViewController.h"
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
#import "Vehicles+Company.h"  
#import "Vehicles+MKAnnotation.h"

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if ([segue.identifier isEqualToString:@"reserveCar"]) {
    if ([sender isKindOfClass:[MKAnnotationView class]]) {
        MKAnnotationView *aView = sender;
        if ([aView.annotation isKindOfClass:[Vehicles class]]) {
            Vehicles *vehicle = aView.annotation;
            if ([segue.destinationViewController respondsToSelector:@selector(setVehicle:)]) {
                [segue.destinationViewController performSelector:@selector(setVehicle:) withObject:vehicle];
            }
        }
    }
}

}

很可能
segue.destinationViewController
不是
CompanyVehicleViewController
的实例


在故事板中验证视图控制器的类型是否设置为正确的类。

确认
segue.destinationViewController
确实是
CompanyVehicleViewController
的实例。使用调试器或添加
NSLog
语句。它表示它是UIViewController的一个类,而不是CompanyVehicleViewController,如何修复此问题?应该有一种方法可以更改segue中view controller的类。我发现我没有在故事板中将viewcontroller设置为该类,谢谢!我想给你一个答案,这样我就可以给你分数了
#import <UIKit/UIKit.h>
#import "Vehicles+MKAnnotation.h"
#import "Vehicles.h"
#import "Vehicles+Company.h"


@interface CompanyVehicleViewController : UIViewController

@property (nonatomic,strong) Vehicles *vehicle;

@end
#import "CompanyVehicleViewController.h"

@interface CompanyVehicleViewController ()

@end

@implementation CompanyVehicleViewController

-(void) setVehicle:(Vehicles *)vehicle{
_vehicle = vehicle;
self.title = vehicle.name;
NSLog(@"Vehicle is %@", vehicle);
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
}
return self;
 }

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
 }

@end