Описание тега designated-initializer
In Cocoa programming, a designated initializer is the method through which all of the instance's initial parameters can be set. A designated initializer is typically executed implicitly when not called explicitly.
In C programming, designated initializers refer to a certain way of struct/union/array initialization, which allows the programmer to to initialize an element by using its name or index.
1
ответ
Должны ли вы переопределять init при создании нового назначенного инициализатора?
Я прочитал довольно много о назначенных и удобных инициализаторах в objective-c и я чувствую, что хорошо понимаю, как и почему они используются. У меня просто пара нерешенных вопросов, ну один действительно. Скажем, у вас есть класс, который наследу…
05 ноя '15 в 13:02
1
ответ
Вызов суперкласса, обозначенный инициализатором, вызывает подклассы
У меня есть то, что кажется достаточно простой проблемой, но я просто не знаю, почему она работает так, как есть. У меня есть класс Shape, у которого есть подкласс Square. Когда я вызываю Square и вызываю его назначенный инициализатор, в self = [sup…
19 сен '13 в 00:04
1
ответ
Обнуление необычного массива
У меня есть немного кода C, воспроизведенного ниже. Насколько я понимаю, он устанавливает определенные биты массива BootPML4 на определенное значение. Может кто-нибудь объяснить, пожалуйста, как BootPML4 массив ниже заполнен? Кроме того, как я могу …
07 янв '14 в 22:49
2
ответа
Конструктор мешает переменной, назначенной инициализатору?
Некоторое время назад можно было использовать "назначенный инициализатор" в GCC: struct CC{ double a_; double b_; }; CC cc{.a_ = 1., .b_ = 2.}; assert(cc.a_ == 1. and cc.b_ == 2.); // ok CC cc{.bla = 0., .bli = 0.}; // compile error Однако, когда я …
11 сен '18 в 18:39
1
ответ
-Wmissing-field-initializer при использовании назначенных инициализаторов
Я использую GCC 4.6.2 (Mingw) и компилирую с -Wextra, Я получаю странные предупреждения, когда использую назначенные инициализаторы. Для следующего кода typedef struct { int x; int y; } struct1; typedef struct { int x; int y; } struct2; typedef stru…
05 мар '14 в 10:23
0
ответов
Ошибка super.init(): должен вызвать указанный инициализатор суперкласса "x"
Я создал основной пользовательский класс, наследующий от существующего, следующим образом: Как видите, это дает мне основную ошибку назначенного инициализатора суперкласса. Тем не менее, я использовал это! У суперкласса есть только один init() без а…
11 июл '17 в 21:02
1
ответ
Почему Clang решил разрешить назначенные инициализаторы в C++?
Я думал, что указанные инициализаторы были прекращены в C++ и работали только в C. Однако я натолкнулся на простой пример, который компилировался и прекрасно работал с clang ++. int main() { int a[6] = { [4] = 29, [2] = 15 }; } g ++: https://rextest…
31 янв '19 в 11:31
0
ответов
Как пометить обозначенные инициализаторы суперкласса как "недействительные" в Objective-C?
Из документа " Адаптация современной Objective-C": Если класс предоставляет один или несколько назначенных инициализаторов, он должен реализовать все назначенные инициализаторы своего суперкласса. Это означает, что если у меня есть подкласс NSObject…
19 июн '15 в 15:36
2
ответа
Как изменить переменные указателя в структуре?
Поэтому я пытаюсь реализовать связанный список, и у меня есть эта структура для каждого из узлов: typedef struct listNode { struct listNode *next; void *data; } NODE; Ранее я сделал игру, в которой структура космического корабля выглядела так: typed…
17 ноя '17 в 18:31
3
ответа
Почему я должен продолжать объявлять тот же обязательный, но не реализованный инициализатор для init(кодер aDecoder) для моего программного подкласса UIViewController?
Возможно, это только я, но я нахожу некоторые аспекты стремительными... глупыми, если не сказать больше. Я не использую Interface Builder большую часть времени, потому что мне нравится использовать PureLayout, Так что я надеялся сделать UIViewContro…
06 авг '15 в 22:38
2
ответа
C99 Обозначенный дубликат индекса инициализатора вообще не помечен в выходных данных сборки или lint
На днях я немного поиграл с назначенными инициализаторами и, к своему удивлению, заметил, что один и тот же индекс допустимо использовать более одного раза. Более того, он даже не выдавал предупреждение компилятора, ошибку или даже информационное со…
24 май '13 в 19:37
1
ответ
Назначенные предупреждения инициализатора при вызове другого init из initWithCoder:
Я работаю над унаследованной кодовой базой и пытаюсь разрешить следующие предупреждения: Назначенный инициализатор должен вызывать только указанный инициализатор в "super" В указанном инициализаторе отсутствует "супер" вызов назначенного инициализат…
21 апр '17 в 11:26
1
ответ
Назначенный инициализатор и передаваемые аргументы
У меня есть эта иерархия: CreateAnObjectClass : NSObject MySecondClass : MyBaseClass MyBaseClass : NSObject в CreateAnObjectClass я хочу создать экземпляр метода MySecondClass, и я хочу передать @property (strong,nonatomic) NSDictionary* myTemplate …
08 май '12 в 11:39
0
ответов
Неопределенное наследование инициализатора из классов Objective C
Столкнувшись с проблемами при классификации UIKit классы и добавляя к ним неизменяемые переменные, я сделал тестовый проект, чтобы выяснить, что происходит. Мой вывод таков: если: у нас есть класс Objective C, который наследуется от другого класса, …
01 июл '15 в 12:20
2
ответа
(iOS) Черный экран при пользовательской инициализации UIViewController
Это мой первый вопрос здесь. Я пытаюсь сделать приложение, которое будет работать с Core Audio. Я нашел этот фреймворк http://theamazingaudioengine.com/ который я пытаюсь использовать, и до сих пор мне удалось сделать первое в документации, а именно…
26 апр '13 в 16:05
2
ответа
Проверьте назначенный инициализатор в xcode
Есть ли способ узнать, какой инициализатор назначен в суперклассе в XCode? Я набираю super(). Init.. затем Xcode показывает все инициализаторы суперкласса. Я хочу знать, есть ли какой-либо знак или символ, чтобы указать, какой из них обозначен? Такж…
19 дек '15 в 23:10
2
ответа
Отключите назначенную проверку инициализатора в Xcode 6
Я получаю ошибку компиляции: error: convenience initializer missing a 'self' call to another initializer [-Werror,-Wobjc-designated-initializers] Назначенные инициализаторы с проверкой компиляции могут быть полезны, но если я не хочу иметь дело с эт…
21 авг '14 в 15:00
6
ответов
Почему обозначенные инициализаторы не реализованы в g++
Есть ли какая-то конкретная причина, почему поддержка назначенных инициализаторов не была добавлена в g++? Является ли причиной того, что стандарты C99 пришли с опозданием, а g ++ был разработан ранее, и позже люди не заботились об этой проблеме, …
04 фев '11 в 17:05
2
ответа
Определение загадочной структуры в C
Я наткнулся на следующий код определения лабиринта: typedef struct mazeNode { int hasCheese; int tag; struct mazeNode *left; struct mazeNode *right; } maze_t; maze_t maze = { .tag = 1, .left = &(maze_t) { .left = &(maze_t) { .left = &(ma…
30 авг '14 в 01:17
3
ответа
Что означает точка (.) В инициализаторе структуры?
static struct fuse_oprations hello_oper = { .getattr = hello_getattr, .readdir = hello_readdir, .open = hello_open, .read = hello_read, }; Я не понимаю этот синтаксис C хорошо. Я даже не могу искать, потому что я не знаю название синтаксиса. Что это…
08 ноя '11 в 07:38