Witajcie Mirki, kolejne ogłoszenie o pracę dla programisty :) tym razem na platformę ios, mały skrót i pasta z ogłoszenia:

Wymagane:

bardzo dobra znajomość języka Objective-C i iOS SDK

bardzo dobra znajomość iOS od strony użytkownika

uiejętność tworzenia aplikacji w oparciu o storyboards

znajomość SVN

znajomość relacyjnych baz danych

doświadczenie w tworzeniu aplikacji korzystających z REST API

umiejętność pracy w zespole

dobra znajomość języka angielskiego

---

Mile widziane:

doświadczenie w pracy w
Spać mi to nie daje:

Piszę aplikację w objective-c (na iphona) w celach czysto edukacyjnych. Jest to gra karciana. Mam następujący problem związany z MVC:

W dużym skrócie model składa się z karty, talii kart i "gry karcianej". Karta może być wybrana oraz już dopasowana. Mam teraz zrobić tak, żeby po każdym wybraniu karty wyświetlał się w etykiecie tekstowy opis akcji np.: "Matched X Y for 2 points".

W tej chwili sprawdzam
@Ginden: a czy dodanie do kontrolera tablicy z indeksami kart klikniętych (bo teraz głównie nie podoba mi się [cardButton.currentTitle length] i cardButton.enabled) i pola do modelu z ostatnią zmianą stanu punktów oraz metoda gameStatus generująca ten napis też będzie ok?
@chore_kalafiory: jak coś to rozglądałbym się raczej czymś po angielsku, no i jak na razie do ios 7 nie ma nic po polsku, ja jak szukam to zwykle patrze po ocenach na amazonie, ta myślę bedzie spoko http://www.amazon.com/iOS-Programming-Ranch-Guide-Guides/dp/0321942051/ref=sr_1_1?s=books&ie=UTF8&qid=1392243016&sr=1-1&keywords=ios mam piracką wersję książki z tej serii (co prawda o androidzie) ale bardzo fajnie wszystko tłumaczy i jest napisana bardzo przystępnym językiem
heh... Aplikacja do odtwarzania shoutcastów. Problem: zbyt mały bufor przed odtwarzaniem. Rozwiązanie:

-(void) play {

//...

self.player = [AVPlayer playerWithURL:[NSURL URLWithString:self.streamURL]];

self.statusLabel.text = @"Buffering...";

[self performSelector:@selector(play2) withObject:nil afterDelay:5.0];

// ...

}

- (void) play2 {

[self.player play];

self.statusLabel.text = @"Playing...";

}

http://pastebin.com/R6TqWvJT

Czasami pomysłowość hindusów mnie przeraża... Gorzej że zbyt często więcej czasu spędzam na sprawdzaniu kodu i wytykaniu błędów/problemów niż gdybym sam pisał całość od początku...

// Edit - task oczywiście
@przemyslany_nick: czy ja wiem, nie znam kompletnie poziomu koła, bo przedmiot po raz pierwszy idzie, a z Obj-C miałem styczność tylko na laborkach (2 malutkie aplikacje krok po kroku). Nie takie rzeczy się robiło :D
@MasterSoundBlaster Objective-C na dziś

void addRoundedRectToPath(CGContextRef context, CGRect rect, float ovalWidth, float ovalHeight);

{

float fw, fh;

if (ovalWidth == 0 || ovalHeight == 0) {

CGContextAddRect(context, rect);

return;

}

CGContextSaveGState(context);

CGContextTranslateCTM (context, CGRectGetMinX(rect), CGRectGetMinY(rect));

CGContextScaleCTM (context, ovalWidth, ovalHeight);

fw = CGRectGetWidth (rect) / ovalWidth;

fh = CGRectGetHeight (rect) / ovalHeight;

CGContextMoveToPoint(context, fw, fh/2);

CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1);

CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1);

CGContextAddArcToPoint(context, 0, 0, fw/2, 0, 1);