У меня есть окно с большим NSTextFeildCell, где текст может быть изменен. После нажатия кнопки появляется другое окно, где текст из исходного окна может быть использован каким-то образом. Проблема, которую я имею, когда я пытаюсь получить этот текст журнала выплевывает ...Получение строкового значения из отдельного окна для использования на другом. Objective C
«- [NSTextView stringValue]: непризнанные селектор направлен например 0x100151860» под паром длинным следом ...
Я попытался решить это несколько разных способов, но не повезло.
В настоящее время,
контроллер первого окна
.h
#import <Cocoa/Cocoa.h>
@class NextWindowController;
@interface TextViewWindowController : NSWindowController
@property (nonatomic, weak) NextWindowController *NextWindow;
@property (nonatomic, weak) IBOutlet NSTextFieldCell *txtTextView;
- (IBAction)btnClicked:(id)sender;
- (NSString*)getText;
@end
.m
#import "TextViewWindowController.h"
#import "NextWindowController.h"
@implementation TextViewWindowController
@synthesize NextWindow;
- (IBAction)btnClicked:(id)sender{
[NextWindow setCallingWindow:self];
[NextWindow showWindow:self];
}
- (NSString*)getText{
return [_txtTextView stringValue];// there is a problem with the view...
}
@end
контроллер Next Window
.h
#import <Cocoa/Cocoa.h>
@class TextViewWindowController;
@interface NextWindowController : NSWindowController{
NSMutableString* str;
}
@property (nonatomic, weak) TextViewWindowController *callingWindow;
@end
.m
#import "NextWindowController.h"
#import "TextViewWindowController.h"
@implementation NextWindowController
@synthesize callingWindow;
- (IBAction)btnEnterClicked:(id)sender{
[str setString:callingWindow.txtTextView.stringValue];
}
- (id)initWithWindow:(NSWindow *)window{
self = [super initWithWindow:window];
if (self) {
str = [[NSMutableString alloc] init];
}
return self;
}
@end
Я также попытался ул = [callingWindow GetText] с тем же результатом.
Любая помощь будет очень признательна!
я бы не использовать метод под названием 'getText', такого рода следует, что значения возвращаются по ссылке в параметрах метода. – Abizern
Фантастическая точка. Надеюсь, Даниэль может изменить имя из «getText» или ... даже лучше ... просто получить доступ к свойству из * другого * контроллера вида (например, '' [callWindow.txtTextView string]; ')) –
Согласовано. Виртуальный +1 до тех пор, пока часы не гаснут :) – Abizern