Я работаю с iPhone приложение в Xcode. У меня есть 2 класса, которые являются контроллерами представлений. Один родительский и один дочерний класс. Родительский класс называется «RaknaLista», а дочерний класс называется «P_Format».Как изменить свойство родительского класса из дочернего класса?
В P_Format вы можете изменить 2 строки, которые отображаются в 2 ярлыках (valdBreddLabel & valdHojdLabel). Когда вы нажмете «Сохранить» и вернитесь в RaknaLista, я хочу, чтобы значения отображались в TextView под названием «minTrycksaktext», но он не работает, он показывает только (нуль) в месте для значений. Может кто-нибудь помочь мне, пожалуйста, и сказать, что я делаю неправильно?
RaknaLista.h:
#import <UIKit/UIKit.h>
@interface RaknaLista : UIViewController
@property (nonatomic, retain) IBOutlet UITextView *minTrycksaktext;
@property (nonatomic, assign) NSString *format_Bredd;
@property (nonatomic, assign) NSString *format_Hojd;
@end
RaknaLista.m:
#import "RaknaLista.h"
@interface RaknaLista()
@end
@implementation RaknaLista
@synthesize format_Bredd,format_Hojd;
@synthesize minTrycksaktext;
- (void)viewDidLoad
{
[super viewDidLoad];
minTrycksaktext.text = [NSString stringWithFormat:@"Format: \n\nBredd: %@ \nHöjd: %@ \n", format_Bredd, format_Hojd];
}
P_Format.h:
#import <UIKit/UIKit.h>
#import "RaknaLista.h"
@interface P_Format : RaknaLista <UITextFieldDelegate>
@property (nonatomic, retain) IBOutlet UILabel *valdBreddLabel;
@property (nonatomic, retain) IBOutlet UILabel *valdHojdLabel;
-(IBAction)sparaPressed:(id)sender;
@end
P_Format.m
#import "P_Format.h"
@interface P_Format()
@end
@implementation P_Format
@synthesize valdBreddLabel;
@synthesize valdHojdLabel;
-(IBAction)sparaPressed:(id)sender{
RaknaLista *raknalista = [[RaknaLista alloc]init];
raknalista.format_Bredd = valdBreddLabel.text;
raknalista.format_Hojd = valdHojdLabel.text;
}
@end
Вы действительно должны смотреть на именование конвеции для ios. Использование того, что нравится шведскому в вашем коде, не является хорошей практикой для любого кода. это просто подсказка. – Vaionixx
Вы используете ARC? Вы используете 'assign' и' keep', которые являются квалификаторами предварительной ARC-памяти, поэтому я считаю, что вы не используете ARC. Но у вас нет операторов 'release', поэтому, если вы используете ARC, вы будете утечки. Я хочу ответить на вопрос, но хотел бы знать, используете ли вы ARC или нет. – Rob
Вы используете ARC? Вы используете 'assign' и' keep', которые являются квалификаторами предварительной ARC-памяти, поэтому я считаю, что вы не используете ARC. Но у вас нет операторов 'release', поэтому, если вы используете ARC, вы будете утечки. Кроме того, вы используете раскадровки или NIB? Без ответов на эти вопросы людям сложно рекомендовать необходимые исправления для вашего кода. – Rob