Objective-c to wysoce dynamiczny, zorientowany obiektowo język oparty na komunikatach, nadzbiór języka C, który jest używany głównie do programowania platform Apple Mac OS X i iOS.
Apple wprowadził nowy język programowania Swift na WWDC14 . W prezentacji dokonali porównań wydajności między Objective-C i Python. Poniżej znajduje się zdjęcie jednego ze slajdów, porównania tych trzech języków wykonujących skomplikowane sortowanie obiektów: Był jeszcze bardziej niesamowity wykres porównania wydajności przy użyciu algorytmu szyfrowania RC4 . Oczywiście jest to rozmowa …
Jako programista C & Objective-C jestem trochę paranoikiem przy flagach ostrzegawczych kompilatora. Zwykle staram się znaleźć pełną listę flag ostrzegawczych dla kompilatora, którego używam, i włączam większość z nich, chyba że mam naprawdę dobry powód, aby go nie włączać. Osobiście uważam, że może to faktycznie poprawić umiejętności kodowania, a także …
Wskoczyłem do projektu i widzę, że inni programiści dodają dużo logiki w ustawieniach zsyntetyzowanych właściwości. Rozumiem, jak to działa, ale myślę, że utrudnia to zrozumienie przebiegu programu; podczas czytania kodu, za każdym razem, gdy widzę self.something = whatever, zawsze sprawdzam, czy somethingsetter jest przesłonięty. Jakie są twoje opinie na ten …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 6 lat temu . Czy dla kogoś, kto ma doświadczenie w .Net i chce tworzyć dla iPhone'a / iPoda / iPada, warto nauczyć …
Objective-C ma ładną orientację obiektu, prostotę, elegancję i (jako nadzbiór C), zdolność niskiego poziomu. Może się wydawać prostą, nowoczesną alternatywą dla C ++, której wiele osób szuka i próbuje znaleźć w Go. Ale jest on po prostu używany w środowiskach Cocoa i post-NextSTEP, i nawet w tym przypadku jest postrzegany …
Widzę dwa typowe wzorce bloków w Objective-C. Jedna to para sukcesów: / porażka: bloki, druga to pojedyncze zakończenie: blok. Załóżmy na przykład, że mam zadanie, które zwróci obiekt asynchronicznie, a to zadanie może się nie powieść. Pierwszy wzór to -taskWithSuccess:(void (^)(id object))success failure:(void (^)(NSError *error))failure. Drugi wzór to -taskWithCompletion:(void (^)(id …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Zwykle piszę w języku C # lub Objective-C, a ostatnio postanowiłem nauczyć się …
Wydaje się, że jest wiele dyskusji na temat różnych zalet szybkości dla C lub C ++ w porównaniu do powiedzenia Java lub Python, ale rzadko widzę wspomniany Cel C. Z grubsza, gdzie leży to pod względem wydajności językowej?
Zawsze uruchamiałem kompilacje po każdym zatwierdzeniu, ale w tym nowym projekcie architekci poprosili mnie o zmianę częstotliwości na „jedna kompilacja co 15 minut” i po prostu nie rozumiem, dlaczego byłby to dobry powód kontra „ opierając się na każdym zatwierdzeniu ". Po pierwsze, kilka szczegółów: Projekt Objective-C (iOS 5) 10 …
Jestem pewien, że każdy nowy programista iOS ma następujący problem: kontrolery widoków bardzo szybko zapełniają się kodem do różnych celów, łatwo przechodząc do ponad 500 linii kodu. Tak to wygląda dla dwóch podstawowych i typowych ekranów: 1) Ekran formularza: 2) Ekran kontrolera widoku tabeli Do tej pory przeczytałem o dwóch …
Generalnie wolę używać małych metod, zalecanych między innymi przez Boba Martina w Clean Code . Przeczytałem również wystarczająco dużo o wewnętrznych elementach Objective-C, aby mieć przynajmniej pojęcie o tym, jak działa wysyłanie wiadomości ( seria bbums jest szczególnie pouczająca na ten temat). Niezależnie od przedwczesnej optymalizacji, chciałbym wiedzieć, czy cała …
Powiązane: Ostrzeżenie „wysyłanie„ const NSString * ”do parametru typu„ NSString * ”odrzuca kwalifikatory” Czasami myślę, że jest to przydatne. Może być konieczne przekazanie tabeli i upewnienie się, że zawartość tabeli się nie zmieni. Jednak w większości próbek programu Objective-C nigdy nie widzę const. Moje pytanie brzmi: dlaczego?
Jestem nowy w programowaniu obiektowym, a jedną z koncepcji, którą zajęło mi trochę czasu, jest niezmienność. Myślę, że żarówka zgasła ostatniej nocy, ale chcę zweryfikować: Kiedy napotykam stwierdzenia, że niezmiennego obiektu nie można zmienić, jestem zdziwiony, ponieważ mogę na przykład wykonać następujące czynności: NSString *myName = @"Bob"; myName = @"Mike"; …
Nie zawsze, ale przez większość czasu, znajdziesz projekty open source dla iOS lub Mac OS X o nazwach rozpoczynających się od pierwszych liter imienia i nazwiska autora. Jeśli autorem projektu byłby Nick Leblanc, projekt zostałby odczytany jako NLMyProject. Przykłady: RMSwipeTableViewCell przez Rune Madsen, EBCardCollectionViewLayout autor: Ezequiel Becerra, SDiPhoneVersion autor: Sebastian …
Tworzę aplikację na platformę iOS i idąc dalej, zauważyłem, że wykonałem okropną robotę, utrzymując porządek w moich plikach (.h, .m, .mm). Czy istnieją jakieś standardy branżowe lub najlepsze praktyki, jeśli chodzi o organizowanie plików dla projektu iOS? Moje pliki obejmują niestandardowe klasy (oprócz kontrolerów widoku), niestandardowe kontrolery widoku, treści innych …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.