Как инициализировать подкласс NSOBJECT на iPhone?

Попробуйте:
1) print (camera.capture ('foo.jpg'), чтобы увидеть, вернет ли он 0
2) попытаться изменить 'foo.jpg' на '/ tmp / foo.jpg ', возможно, он захватывает изображение, но сохраняет его по тому же пути, и вы не знаете, где
Редактировать:
3) вы можете попробовать, но это не так тривиально как указано выше, запустите sudo strace -f -o /tmp/strace.out. Тогда вы увидите, есть ли «отказано в разрешении» или что-то еще

18
задан Almas Adilbek 19 April 2013 в 05:27
поделиться

2 ответа

Я нахожу, что это может работать:

TheClass *newObject = [[TheClass alloc] init];
//do something here
[newObject release];
-2
ответ дан 30 November 2019 в 06:12
поделиться

iphony корректен, но он не говорит, что необходимо записать init метод сами. Ваш init метод должен обычно выглядеть примерно так:

- (id) init
    {
    if (self = [super init])
         {
         myMember1 = 0; // do your own initialisation here
         myMember2 = 0;
         }
    return self;
    }

, Хотя в документации яблока говорится

, init метод, определенный в классе NSObject, не делает никакой инициализации; это просто возвращается сам.

и можно просто испытать желание записать

- (id) init
  {
    myMember1 = 0; // do your own initialisation here
    myMember2 = 0;
    return self;
  }

, это НЕПРАВИЛЬНО и не после того, что явно указано в документации:

В пользовательской реализации этого (init) метода, необходимо вызвать super’s, обозначенный инициализатор тогда инициализирует и возвращает новый объект.

ДОЛЖЕН. Не должен, мог, должен, и т.д.

Вы не должны предполагать, что init NSOBJECT не изменяется в будущем; ни суперкласс, из которого происходит Ваш пользовательский класс.

57
ответ дан 30 November 2019 в 06:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: