보기 컨트롤러 아래에 두 개의 버튼이 있습니다. 그 버튼들 중 하나가 계산을합니다. 두 번째 것은 이러한 계산에 대한 정보를 보여줍니다. 정보에 대해서는 werkwijzeViewController라는 다른 viewcontroller에 모달 (modal) segue를 사용하고 있습니다. 계산 단추는 문제를 일으키지 않습니다. 정보 버튼을 누르면 "UIStoryboardModalSegue popoverController] : 인식 할 수없는 셀렉터가 인스턴스로 전송되었습니다." 뭐가 문제 야? (UIStoryboardSegue * : (무효) prepareForSegue -인스턴스 선택기로 인해 모달 세그먼트가 작동하지 않습니다.
...
viewcontroller.h
#import <UIKit/UIKit.h>
#import "breuk.h"
#import "verklaringViewController.h"
@interface ViewController : UIViewController <UIPopoverControllerDelegate>
@property (strong, nonatomic) IBOutlet UITextField *tellerVeld1;
@property (strong, nonatomic) IBOutlet UITextField *noemerVeld1;
@property (strong, nonatomic) IBOutlet UILabel *quotientVeld;
@property (strong, nonatomic) IBOutlet UITextField *tellerVeld2;
@property (strong, nonatomic) IBOutlet UITextField *noemerVeld2;
@property (strong, nonatomic) IBOutlet UIButton *berekenKnop;
@property (strong, nonatomic) breuk *breuk1;
@property (strong, nonatomic) breuk *breuk2;
@property (strong, nonatomic) breuk *hoofdbreuk;
@property (strong, nonatomic) IBOutlet UITextField *uitkomstNoemerVeld;
@property (strong, nonatomic) IBOutlet UITextField *uitkomstTellerVeld;
@property (strong, nonatomic) IBOutlet UILabel *uitkomstStreep;
@property (strong, nonatomic) UIPopoverController *popoverController;
- (IBAction)berekenQuotient:(id)sender;
@end
viewcontroller.m
#import "ViewController.h"
@interface ViewController()
{
BOOL veldVerplaatst;
}
@end
@implementation ViewController
@synthesize tellerVeld1;
@synthesize noemerVeld1;
@synthesize quotientVeld;
@synthesize tellerVeld2;
@synthesize noemerVeld2;
@synthesize berekenKnop;
@synthesize uitkomstNoemerVeld;
@synthesize uitkomstTellerVeld;
@synthesize uitkomstStreep;
@synthesize breuk1;
@synthesize breuk2;
@synthesize hoofdbreuk;
@synthesize popoverController;
: 나는 관련 코드의 일부를 업로드하고 있습니다) 송신자 : (id) 발신자 {
UIStoryboardPopoverSegue *popoverSegue;
popoverSegue=(UIStoryboardPopoverSegue *)segue;
UIPopoverController *popoverController;
popoverController = popoverSegue.popoverController;
popoverController.delegate = self;
verklaringViewController *verklaringVC;
verklaringVC=(verklaringViewController *)popoverController.contentViewController;
...
}
,210
@end
werkwijzeViewController.h
#import <UIKit/UIKit.h>
#import "ViewController.h"
@interface werkwijzeViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *af;
@property (strong, nonatomic) IBOutlet UITextView *vereenvoudigBreuken;
@property (strong, nonatomic) IBOutlet UITextView *vermenigvuldigBreuken;
@property (strong, nonatomic) NSMutableArray *tabelTellerOntbonden;
@property (strong, nonatomic) NSMutableArray *tabelNoemerOntbonden;
@property (strong, nonatomic) NSMutableArray *tabelGgdOntbonden;
@end
werkwijzeViewController.m
#import "werkwijzeViewController.h"
@interface werkwijzeViewController()
@end
@implementation werkwijzeViewController
@synthesize tabelGgdOntbonden;
@synthesize tabelNoemerOntbonden;
@synthesize tabelTellerOntbonden;
...
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
tabelTellerOntbonden =[NSMutableArray new];
tabelTellerOntbonden = [((ViewController *)self.presentingViewController).breuk1 ontbindInFactoren:((ViewController *)self.presentingViewController).breuk1.tellerBreuk inTabel:tabelTellerOntbonden];
NSLog(@"%@",tabelTellerOntbonden);
}
@end
당신은 연결하여 IBAction를 방법의 모든 코드를 게시해야
#import "breuk.h"
@implementation breuk
@synthesize tellerBreuk;
@synthesize noemerBreuk;
@synthesize origineleNoemerBreuk;
@synthesize origineleTellerBreuk;
@synthesize ggd;
@synthesize quotientBreuk;
...
- (NSMutableArray *)ontbindInFactoren:(int)product inTabel:(NSMutableArray *)tabel
{
for (int priemfactor=1; priemfactor<=product; priemfactor++)
{
while (product%priemfactor==0)
{
[tabel addObject:[NSString stringWithFormat:@"%i",priemfactor]];
}
}
return tabel;
}
@end
당신의 충고를 따랐습니다. 문제는 다음과 같습니다. 먼저 popover를 수행 한 다음 popover 외부로 누른 다음 modal segue를 사용합니다. 당신은 ios가 segue가 여전히 popover라고 생각한다고 제안했습니다. 어떻게 단편을 모달로 바꿀 수 있습니까? 처음에 popover 버튼을 누르지 않으면 모달 코드가 작동합니다. 하지만 그들을 결합하고 싶습니다 ... – user2895954