Új hozzászólás Aktív témák
-
Karma
félisten
Egy érdekes, gyakorlatias szemléletű anyagot találtam a hackingwithswift.com-on. A nyelv mellett az iOS mindenféle szegletéből ad kis ízelítőket.
Egyébként nekem nagyon tetszik a nyelv, nagy minőségi ugrás az Objective-C után, bár nem mondom, hogy nem kellett nagyon kicsavarodnom itt-ott. Leginkább az "Expression was too complex to be solved in reasonable time..." hiba, és az associated type-pal rendelkező protokollok korlátozásai akasztottak ki.
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #8 üzenetére
Üdv. Biztosat nem tudok mondani rá (nem látok más mérnökök fejébe), de az biztos, hogy ez a lehetőség az Objective-C-ből eredeztethető, és nélküle elég nehézkes lenne bármilyen delegate-et írnod, amit a Cocoa osztályoknak kell átadnod.
Például a UITableViewDataSource protokollban a klasszikus
- (UITableViewCell *)tableView: (UITableView *)tableView
cellForRowAtIndexPath: (NSIndexPath *)indexPathSwiftben ugye így néz ki:
func tableView(_ tableView: UITableView,
cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellAláhúzással jelöltem a külső neveket, dőlttel a belsőket. A külsők a protokoll miatt kőbe vannak vésve, a belsők nélkül meg elég sokat kéne gépelned.
---
Egyébként nem tudom, mennyire elítélendő, de én szoktam saját protokollokban is használni, hogy a fentihez hasonló delegátokat kapjak.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #10 üzenetére
Nem lehet cserélni semmit, maximum a lokális paraméterek neveit (de minek tennéd?). A kompatibilitás miatt kellett ez a feature, neked nem kötelező használni, csak ha Obj-C osztályokkat kommunikálsz. iOS-en és OSX-en azért ez elég gyakori.
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #12 üzenetére
Hogy mi értelme van, nem tisztem vitatni De attól még így van. Úgy csinálták meg azt a nyelvet, hogy az external paraméternevek valójában a függvény nevének része.
A teljesség kedvéért, C-ben meg valahogy így nézne ki a korábban felhozott metódus:
UITableViewCell* tableViewCellForRowAtIndexPath(UITableView *tableView, NSIndexPath *indexPath)
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
Ha valaki nem ismerné, de hozzám hasonlóan sarokba kódolja magát, ez a blogbejegyzés minden karaktere aranyat ér.
Történt ugyanis, hogy a projektem egyik napról a másikra ötször annyi ideig fordul, mint korábban. A Swift fordítónak átadott magic paraméter(*) hatására kiírja, hogy melyik függvénnyel mennyi időt töltött, onnantól meg lehet optimalizálni a típusokon.
(*) Ez pedig nem más, mint a "-Xfrontend -debug-time-function-bodies".
Illetve némi summázási ötlet: itt.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #18 üzenetére
Mutathatnál részletet ebből a JSON-ből.
Illetve az se mindegy, hogy nem követsz-e el referenciális hibát (és valamiért egy ideiglenes változó megszűnik idő előtt). Más szóval, mit csinálsz az itt leírt kifejezések eredményével?
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #20 üzenetére
Jól tippeled, lévén a [ ] egy tömböt jelöl.
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #23 üzenetére
Szerintem nem kell foglalkoznod egy új alkalmazásnál a régebbi iOS-ekkel. Egyrészt négy éves eszközök is megkapták az iOS9-et, jelenleg 84%-on áll; másrészt mire elkészül az appod, még ehhez az arányhoz képest is javulni fog az állás.
Ha mégis valami miatt nem tudod elengedni ezt a bázist, akkor meg olyan kész megoldásokat keresnék a helyedben, amik minden verzióval működik (és ezt mondjuk reklámozzák is).
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz kemkriszt98 #26 üzenetére
Meg lehet oldani. A lényeg, hogy kerüljön egy Navigation Item a storyboardra, azt utána szabadon manipulálhatod.
“All nothings are not equal.”
Új hozzászólás Aktív témák
- PlayStation 5
- LG 34GS95QE-B: OLED paneles, ívelt gamer monitor
- Teljes verziós, ingyenes mobil játékok és alkalmazások
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- Eredeti játékok OFF topik
- Politika
- Fotók, videók mobillal
- iPhone topik
- PlayerUnknown’s Battlegrounds
- Milyen billentyűzetet vegyek?
- További aktív témák...
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5
- Bomba ár! HP EliteBook 830 G6 - i7-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 5580 - i5-G6 I 8-16GB I 256 SSD I 15,6" FHD I HDMI I CAM I W10 I Garancia