Почему я не могу получить доступ к переменным, когда я создаю подкласс настроенного UIViewController? - PullRequest
1 голос
/ 11 декабря 2011

Я новичок в разработке для iOS и извиняюсь, если ответ очевиден ... но это не для меня.У меня есть приложение с контроллером навигации в его корне.У меня есть много похожих областей приложения, которые будут созданы.Каждый из них должен быть UItableviewcontroller, у которого была достаточно частая настройка, чтобы позволить кнопкам и другим элементам управления рядом с табличным видом, который был уменьшен в размере, чтобы обеспечить элементы управления рядом и под ним.Кнопки, текст, фон и т. Д. И т. Д., А также загружаемые данные должны быть индивидуальными для конкретного приложения APP.Я создал подкласс UItableviewcontroller, просто добавив новый подкласс файла в Xcode.Я создал свой интерфейс в xib ... создал все методы, чтобы использовать то, что мне нужно.Выглядит отлично ... все вроде нормально.Если я использую его в одиночку ... работает хорошо.

Проблема: я не могу понять, как подклассифицировать свой пользовательский субклассовый UITVController!Ни одно из его свойств не доступно из нового подкласса.Я явно не понимаю, как здесь все работает.

Я попытался добавить новый файл> подкласс UIViewcontroller и изменить суперкласс на свой собственный суперкласс ... безрезультатно.Нет доступных свойств.

Я вырыл и выкопал и стал более запутанным, чем что-либо еще.Кто-то достаточно любезен, чтобы помочь мне понять это правильно.Разочарование строит.Спасибо Keispe

РЕДАКТИРОВАТЬ: Whoa обнаружил проблему.У меня был Xcode открытым много-много дней с несколькими открытыми проектами.Это было совершенно странно!На самом деле, Джертонтон и Юджин ... Я знал, что я делаю (я думал, что схожу с ума ... делал это раньше в своем приложении и вдруг ничего не заработало) Xcode полностью потерял свои мозги!

Всемвидел XCode сделать это раньше ???используя 4.1

Кровавый ад, который потратил кучу драгоценного времени, включая ваше.Спасибо, ребята

1 Ответ

1 голос
/ 11 декабря 2011

Когда вы создаете подкласс, вы можете получить доступ к свойствам класса вашего родителя, обратившись к самому себе с помощью точечного синтаксиса

@interface BaseClass : NSObject {
 @public
  NSString *baseclassString;
}

@property (nonatomic, copy) NSString *name;

@end

.h

@interface HigherClass : BaseClass

@end

.m

@implementation HigherClass

- (id)init {
  self = [super init];
  self.name = @"Hola";
  self->baseclassString = @"Hola";
  return self;
}

- (void)viewDidLoad {
  NSLog(@"name: %@", self.name);
}
@end

Это не на 100% чистая память, но вы должны понять, что здесь происходит, и правильно настроить его под ваше приложение.

...