0
XCode 5中的示例項目之一被命名爲「Utility Application」。它有一個主視圖和一個備用視圖,並設置一個信息按鈕以將主視圖翻轉到備用視圖。它使用viewcontroller委託和協議定義從翻轉視圖切換回主視圖。在XCode 6中,它不再存在。xcode 6 Beta - ViewPort代表的奇怪警告
當我運行XCode中6這個簡單的XCode 5的例子中的應用程序,得到了一個警告在下面的方法:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showAlternate"]) {
[[segue destinationViewController] setDelegate:self]; //<<<< Here is where the warning appears
}
}
警告是:發送「MainViewController * const_strong」到不兼容的類型的參數' id'
這是什麼?一個錯誤?該應用在模擬器和iOS設備上運行良好。以下是整個代碼。任何幫助都感激不盡。
**// MainViewController.h
#import "FlipsideViewController.h"
@interface MainViewController : UIViewController <FlipsideViewControllerDelegate>
@end
// MainViewController.m
#import "MainViewController.h"
@interface MainViewController()
@end
@implementation MainViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Flipside View
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller
{
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showAlternate"]) {
[[segue destinationViewController] setDelegate:self]; //<<<< Here is where the warning appears
}
}
@end
// FlipsideViewController.h
#import <UIKit/UIKit.h>
@class FlipsideViewController;
@protocol FlipsideViewControllerDelegate
- (void)flipsideViewControllerDidFinish:(FlipsideViewController *)controller;
@end
@interface FlipsideViewController : UIViewController
@property (weak, nonatomic) id <FlipsideViewControllerDelegate> delegate;
- (IBAction)done:(id)sender;
@end
// FlipsideViewController.m
#import "FlipsideViewController.h"
@interface FlipsideViewController()
@end
@implementation FlipsideViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Actions
- (IBAction)done:(id)sender
{
[self.delegate flipsideViewControllerDidFinish:self];
}
@end**