ねえ、私が作成した同じ UIView クラスを実装する複数のビューでの XCode の動作について質問がありました。タブ付きのアプリケーションとコントローラーを使用しています。ストーリーボードには複数のビューがあり、そのすべてが作成したクラスを実装しています。ビューの 1 つにはテキスト フィールドとボタンがあり、別のビューには "Waiting..." という起動テキストを含むテキスト ビューがあります。ご想像のとおり、最初のビューのテキスト フィールドにテキストを入力し、ボタンを押してから、適切な出力テキストを他のビューのテキスト ビューに表示します。
私の質問は: 複数のビュー間で同じクラスを実装することに問題はありますか?
内部にテキストを設定する TextView メソッドに関する多くの議論を調査しましたが、フォーラム間の提案はすべて異なることを言っており、どのメソッドも適切に機能していないようです。
[textView setText string]
他のタブに切り替えたときに動作したくない、
textView.text = @"Message here"
動作しない
ご協力をお願いいたします。参照用にコードを添付しました。
#import "MasterController.h"
@interface MasterController ()
@end
@implementation MasterController
@synthesize input;
@synthesize output;
- (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.
}
- (void)viewDidUnload
{
[self setInput:nil];
[self setOutput:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (IBAction)generate:(id)sender
{
[output setText:input.text];
}
- (IBAction)textFieldReturn:(id)sender
{
[sender resignFirstResponder];
}
- (void)dealloc
{
[input release];
[output release];
[super dealloc];
}
@end
//MasterController.h
#import <UIKit/UIKit.h>
@interface MasterController : UIViewController
- (IBAction)generate:(id)sender;
- (IBAction)textFieldReturn:(id)sender;
@property (retain, nonatomic) IBOutlet UITextField *input;
@property (retain, nonatomic) IBOutlet UITextView *output;
@end