私は目的の C プログラミングが初めてで、アプリを作成しています。私はosx 10.8.4とxcode 4.6を使用しています。シングルビュー アプリケーションで、あるビュー コントローラーから別のビュー コントローラーに (モーダル) セグエしようとしています。セグエのセグエ識別子を既に与えており、ストーリーボードにセグエを配置しています。ただし、コンソールにセグエしようとすると、次のように表示されます。
Warning: Attempt to present <UIViewController: 0x74acff0> on <ViewController: 0x82b25a0> whose view is not in the window hierarchy!
これが私の最初のView Controller .mファイルのコードです(segueするコードが含まれています):
Viewcontroller.m:
#import "ViewController.h"
#import "hackScreen.h"
#import "AppDelegate.h"
#import <RevMobAds/RevMobAds.h>
@interface ViewController ()
@end
@implementation ViewController
- (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.
}
- (IBAction)hackStarter:(id)sender {
NSString *checker = [_redBoulderRepublic text];
int soLong = [checker length];
UIAlertView *wrongNumber = [[UIAlertView alloc]
initWithTitle:@"Invalid number"
message:@"Please enter a valid phone number"
delegate:nil
cancelButtonTitle:@"dismiss"
otherButtonTitles:nil];
if (soLong == 10){
[self performSegueWithIdentifier:@"SegueOne" sender:sender];
}
else{
[wrongNumber show];
}
}
- (void)dealloc {
[_redBoulderRepublic release];
[super dealloc];
}
- (IBAction)keyboardKiller:(id)sender {
[_redBoulderRepublic resignFirstResponder];
}
@end
そして私の.hファイル:
Viewcontroller.h:
#import <UIKit/UIKit.h>
#import <RevMobAds/RevMobAds.h>
#import "AppDelegate.h"
#import "hackScreen.h"
@interface ViewController : UIViewController
- (IBAction)hackStarter:(id)sender;
@property (retain, nonatomic) IBOutlet UITextField *redBoulderRepublic;
- (IBAction)keyboardKiller:(id)sender;
@end