- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
recognizer = [SMRecognizerConvNet alloc];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
(unsigned long)NULL), ^(void) {
recognizer = [recognizer init];
loaded = true;
DLog(@"recognizer loaded");
});
guest 04.10.2013 19:48 # −9
NAlexN 04.10.2013 22:30 # +2
if (!loaded)
{
// Okay :(
}
tirinox 04.10.2013 22:40 # +3
И да, проверки есть :)
NAlexN 05.10.2013 16:24 # 0
tirinox 05.10.2013 17:30 # +2
NAlexN 06.10.2013 14:50 # 0
А что касается метода init, то более извращенного способа загрузить картинку в cocos2d даже представить трудно! Причем автор учел и ретина разрешение, и позаботился о количестве бит на пиксель (хотя эта проверка сделана неправильно и выглядит глупо, я про sizeof(ccColor4B)).
Хоть метод init и содержит только выделение памяти под эту картинку, могу предположить, что непосредственно загрузка происходит считыванием картинки с диска побайтно.
Метод LoadNetwork реализован вне класса как C функция, что тоже мягко говоря не хорошо, на крайний случай можно было и статическим методом сделать, но внутри класса.
И на последок, retain результата C функции, хоть формально и верно, но от этого не легче.
Мда...