私は Cocoa と XCode の初心者です。あなたの助けを借りたいです。XIB ウィンドウのコントローラーを作成し、ウィンドウを開始しました。コントローラーに必要なパラメーターが 1 つあります。パラメーターを設定しますが、ボタンをクリックしてパラメーターを回復する必要がある場合、値は nill または空の。
例えば...
私は持っている
#import <Cocoa/Cocoa.h>
#import "ITKExample1Filter.h"
#import "Helper.h"
@interface VentanaGraficaController1 : NSWindowController {
ViewerController* _viewerController;
IBOutlet NSComboBox *combo;
IBOutlet NSTextField *windowLevelTextField;
IBOutlet NSTextField *windowWidhTextField;
NSString *cad_;
}
@property NSString *cad;
@property ViewerController* viewerController;
//Metodos
- (IBAction) converToRGB: (id)sender;
- (IBAction) initAux: (id)sender;
- (void) initController : (ViewerController*) vc: (int) n;
@end
@implementation VentanaGraficaController1
//Parametros que sintetizaremos para manejar los valores por referencia
@synthesize viewerController = _viewerController;
@synthesize cad = cad_;
// .....
- (IBAction) converToRGB: (id)sender {
NSAlert *a = [NSAlert alertWithMessageText:cad_
defaultButton:@"OK"
alternateButton:@"Cancel"
otherButton:nil
informativeTextWithFormat:@"Cadena por syntetise"];
[a runModal];
}
// ..... The rest
次のようにコントローラーを使用します。
VentanaGraficaController1 *controller = [[VentanaGraficaController1 alloc] initWithWindowNibName:@"VentanaGraficaController1"];
[controller setViewerController:viewerController];
[controller setViewerController:(viewerController)];
[controller setCad:@"works??"];
controller.viewerController = viewerController;
controller.cad = @"works??";
[controller showWindow:nil];
NSSAlert を表示すると、常にcad_
空白または空の文字列として表示されます。多くの方法を試しましたが、値が失われる理由がわかりません。