Попробуйте:
1) print (camera.capture ('foo.jpg'), чтобы увидеть, вернет ли он 0
2) попытаться изменить 'foo.jpg' на '/ tmp / foo.jpg ', возможно, он захватывает изображение, но сохраняет его по тому же пути, и вы не знаете, где
Редактировать:
3) вы можете попробовать, но это не так тривиально как указано выше, запустите sudo strace -f -o /tmp/strace.out. Тогда вы увидите, есть ли «отказано в разрешении» или что-то еще
Я нахожу, что это может работать:
TheClass *newObject = [[TheClass alloc] init];
//do something here
[newObject release];
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 не изменяется в будущем; ни суперкласс, из которого происходит Ваш пользовательский класс.