Pytania otagowane jako swift-language

Swift to język programowania zaprojektowany przez firmę Apple do tworzenia aplikacji na iOS i OS X. Swift opiera się na podstawach C i Objective-C.

5
Jak Swift może być znacznie szybszy od Celu C w tych porównaniach?
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 …

10
Dlaczego program miałby używać zamknięcia?
Po przeczytaniu wielu postów wyjaśniających zamknięcie tutaj wciąż brakuje mi kluczowej koncepcji: po co pisać zamknięcie? Jakie konkretne zadanie wykonałby programista, któremu najlepiej byłoby zamknąć? Przykłady zamknięć w Swift to dostęp do NSUrl i użycie odwrotnego geokodera. Oto jeden taki przykład. Niestety te kursy przedstawiają tylko zamknięcie; nie wyjaśniają, dlaczego …

1
Konwencje nazewnictwa protokołu Swift [zamknięte]
Pochodząc głównie z języka c #, przyzwyczaiłem się używać terminu „interfejs” do opisywania obiektu bez implementacji, która określa zachowanie. W języku c # konwencja polega na dodawaniu nazw interfejsów do „I”, jak w IEnumerableitd. Oczywiście koncepcja ma różne nazwy w różnych językach. W Swift ta sama koncepcja nazywa się „protokołem”. …

8
Po co projektować nowoczesny język bez mechanizmu obsługi wyjątków?
Wiele współczesnych języków zapewnia bogate funkcje obsługi wyjątków , ale język programowania Swift firmy Apple nie zapewnia mechanizmu obsługi wyjątków . Pogrążony w wyjątkach, tak jak ja, mam problem z otuleniem się, co to znaczy. Swift ma asercje i oczywiście zwraca wartości; ale mam problem z wyobrażeniem sobie, w jaki …


6
Funkcje szybkie a właściwości obliczone
Powiedz, że mam klasę Eventw następujący sposób: class Event { private var attendees: [Person] = [] // Case 1 //******* // Should I use a func… func countOfAttendees() -> Int { return attendees.count } // …or a var var countOfAttendees: Int { return attendees.count } // Case 2 //******* // …

3
Walka z cyklicznymi zależnościami w testach jednostkowych
Próbuję ćwiczyć TDD, używając go do opracowania takiego prostego, jak Bit Vector. Zdarza mi się używać Swift, ale jest to pytanie zależne od języka. My BitVectorto structprzechowuje singiel UInt64i przedstawia nad nim interfejs API, który pozwala traktować go jak kolekcję. Szczegóły nie mają większego znaczenia, ale jest to dość proste. …


3
Z jakich powodów używałbyś osobnego rozszerzenia klasy dla każdego delegata w Swift?
Pracowałem przez samouczek Raya Wenderlicha i zauważyłem, że autor używa rozszerzeń klas do przechowywania wywołań zwrotnych delegatów zamiast obsługi ich w samej klasie, tj .: delegować wywołania zwrotne wewnątrz rozszerzenia klasy: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } w przeciwieństwie do …

3
Czy dobrą praktyką jest zawijanie pokrewnego zestawu właściwości do własnej struktury / klasy?
Pisanie obiektu użytkownika w Swift, choć moje pytanie dotyczy dowolnego silnie napisanego języka. Użytkownik może mieć kilka linków (FacebookProfile, InstagramProfile itp.). Kilka pytań wokół tego. Czy dobrą praktyką jest zawijanie łączy we własnym obiekcie? struct Użytkownik { var firstName: string var lastName: string var email: string var links: Linki } …

1
Dlaczego Swift potrzebuje tabel świadków?
Próbuję przeczytać o szczegółach implementacji Swift, a jedną rzeczą, której nie mogę dopracować, są „tabele świadków”. Wygląda na to, że są one osobnym wskaźnikiem vtable używanym dla struktur. Ale dlaczego miałbyś tego potrzebować? Struktury są kopiowane według wartości, więc wiesz już w czasie kompilacji, jakiego typu są. Czy nie po …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.