2

入力、ラベル、ボタンを作成するアップル開発者ツールリソースの最初のチュートリアルを終了しました。ボタンを押すと新しいシーンに移動するので、セグエを設定しました。 「testPush」としましたが、ボタンを押したときに実際に移動するにはどうすればよいですか?というエラーが表示されます

**Thread 1: signal SIGABRT**

そして、それが応答しているコードはこれです

return UIApplicationMain(argc, argv, nil, NSStringFromClass([HelloWorldAppDelegate class]));

セグエを機能させるにはコードを追加する必要があることは誰でも知っていますが、私が見たものはすべて意味をなさないか、コードのブロックであり、それがどのように動作するかなどの意味についてほとんどまたはまったく説明がありません。 .すべての助けに感謝します

あなたが必要とするかもしれない他のもの シーン1が呼び出されているかどうかはわかりません: HelloWorldViewController シーン2が呼び出されています: HelloWorldViewController2

編集

私のスクリプトからのコードは、感謝が必要な場合に備えてあります。HelloWorldViewController.m

    #import "HelloWorldViewController.h"
    @interface HelloWorldViewController ()
    @property (weak, nonatomic) IBOutlet UITextField *textField;
    @property (weak, nonatomic) IBOutlet UILabel *label;
    - (IBAction)changeGreeting:(id)sender;
    @end
@implementation HelloWorldViewController
- (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)changeGreeting:(id)sender {

    self.userName = self.textField.text;

    NSString *nameString = self.userName;
    if ([nameString length] == 0) {
        nameString = @"World";
    }
    NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!", nameString];
    self.label.text = greeting;
}

    - (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
        if (theTextField == self.textField) {
            [theTextField resignFirstResponder];
        }
        return YES;
    }

@end

HelloWorldViewController.h

#import <UIKit/UIKit.h>

@interface HelloWorldViewController : UIViewController <UITextFieldDelegate>

@property (copy,nonatomic) NSString *userName;

@end

そしてmain.m

#import <UIKit/UIKit.h>

#import "HelloWorldAppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([HelloWorldAppDelegate class]));
    }
}
4

1 に答える 1

1

次のように、にa を追加してみてperformseguewithidentifierください。IBAction

- (IBAction)changeGreeting:(id)sender {

self.userName = self.textField.text;

NSString *nameString = self.userName;
if ([nameString length] == 0) {
    nameString = @"World";
}
NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!", nameString];
self.label.text = greeting;

[self performSegueWithIdentifier:@"segueId" sender:nil];
}

それはあなたのために新しいものをプッシュするはずです。

于 2013-08-27T13:53:03.293 に答える