Разработка iPhone: как перенести информацию из одного файла .m в другой - PullRequest
0 голосов
/ 16 августа 2011

Я новичок в разработке для iPhone, у меня есть программа с 7 видимыми UITextFields enter code here.Когда пользователь выбирает число в представлении UIPicker (1-5), многие поля UITextFields становятся скрытыми и непригодными для использования.Эта программа работает хорошо.Я хочу иметь тот же номер, который был выбран из этого файла .m и перенесен в другой файл .m, чтобы 1-5 UITextFields были скрыты и непригодны для использования.Если это имеет значение, первый файл .m - это abc.m, а второй - bca.m, если это имеет значение, я использую [textfield sethidden = YES]

Спасибо

Ответы [ 3 ]

1 голос
/ 16 августа 2011

Вам необходимо сохранить ссылки на все эти объекты в классе и определить свойства для них, чтобы вы могли ссылаться на них во втором файле .m.

Итак, предположим, что у вас есть классы, abc.m

@interface abc {

UITextField *text1;

}

@property (nonatomic, retain) UITextField *text1;

@end

@implementation abc

@synthesize text1;

- (id) init {

if (self = [super init]) {
text1 = [[UITextField alloc] initWithFrame:CGRectMake(0,0,150,10)];
}
return self;
}

- (void)dealloc {

[text1 release];
[super dealloc];
}

Затем вы можете использовать свойство text1 для ссылки на это текстовое поле, учитывая, что вы создали экземпляр объекта во втором классе, или удерживайте ссылку на него.

0 голосов
/ 16 августа 2011

Вы можете попробовать создать BOOL или несколько переменных BOOL и установить его равным YES или NO, а затем поместить это в свои текстовые поля.

    BOOL isVisible = YES;
    [textfield setHidden:isVisible];

, а затем, если вы используете pushViewController, вы можете установить isVisible из bca.m равным isVisible в abc.m

    viewController.isVisible = isVisible; 
0 голосов
/ 16 августа 2011
[[MyClass alloc] initWithFrame: CGRectZero andSomeString: @"Hello World!"];

MyClass

- (id)initWithFrame:(CGRect)frame andSomeString:(NSString*)aString
{
    if (self = [super initWithFrame:frame]) 
    {
        someString = aString;
    }
    return self;
}
...