Swift part11 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
>>94
書きたくなければ書く必要ないんだぜ。
そもそもswiftじゃ同じことを書くことすらできないだろ。。 スクリプトはPython一強になりつつあるな
コンパイラは何だかんだとJAVA、強者はC/C++で次点にC#が勢いを増しつつある感じ >>92
Python文法を踏襲しつつ、イマドキ?な言語PFになってるnimがあるぞ
Swiftを越えるクソっぷりで海外でも日本でも不興だけども >>102
wikipedia見ただけだと凄そうなんだけど、どんなところがクソなの? >>103
1. 目標として掲げた言語仕様に対する完成度がswift betaくらいに未完成
2. nimソースを他言語ソースにコンバートして、他言語ソースをネイティブバイナリにコンパイルという微妙なコンパイル手法
3. 1, 2に引きずられているのか書いたコードが仕様通りに動かない(バグったコードがバグるんじゃなく、正しいコードがバグる
Python好きだし期待してた頃もあったけど、一向に完成度が上がらないから諦めた
大企業スポンサーがつかない新興言語はどうしようもないんだなって, Apple/IBMがついてるSwiftはまだマシ 2の手法は良いと思うけどな
まぁ完成しないんじゃどうしようもないけど コンバートって
なんかの言語がPythonっぽい見た目だったらいいなーと思って作ったのだろうか 一応、GCが付いてたりとランタイムに独自機能は乗ってるけどな
SwiftもObjCへのトランスコンパイラとして実装すれば良かったのかもしれないとふと思った
その程度だとApple公式PJになる意義はなかったかもだけど、今のSwiftランタイムの存在意義と比べてトントンじゃね >>109
objcって中身は動的言語みたいなもんだからメッセージ呼び出しのオーバーヘッドがかなりある。 呼び出しのオーバーヘッドもなにもクラス実体があるポインタアドレスに
まるっとデータ送ってるだけだから逆にリンカがコンパイル時に
「ここ」って指定してるのとどこがそんなに違うんですか?的な メッセージ式って、レシーバーが文字列解析してるとか? SwiftはObjCと違ってメッセージ呼び出しのダイナミックコールしないから早いんだぜって言ってたな
なお体感できるものだとは思えない すまん語弊があるな、ダイナミックコールしないケースがある、が正しかった まあ何と言われようと、OSX、iOSをここまで発展させてきたObjective-Cの実績は事実として存在している apple専用言語だから実績と言われてもピンと来ない iOSが毎年更新してるのにアホみたいに安定してる事実が
もう「あたりまえ」だと思われてるんだなぁ…
C/C++製の自分の足下の更新ペースと安定性を忘れきってるのが笑える。 Cocoa, UIKitで他の言語が使えないからなぁ
ObjCだったから発展したんじゃなく、発展に合わせてObjCが普及したのが事実よな
Swiftでないと使えないという環境がないから普及しねぇ
Carthageも流行らなかったから普及に貢献してないし >>120
Objective-Cだから発展したというよりは、Objective-Cのままでも何ら問題がないということだろう Carbon(C++)からCocoa(ObjC)に切り替えて選択肢を無くした状態でObjCをゴリ押ししたからな
Swiftのゴリ押し、足りてないよー >>122
あの時はそもそもOSが根本的に変わったけどな まあObjective-CはJobsが原点回帰(NeXT系譜)した感じだな >>122
CarbonがいつC++だったのよ。Cだろ
>>123のいう根本から変わる過渡期にどうするかで出てきたCarbonなんて最初からいつか無くなる運命だし、Carbonよりも先にObjective-Cあったので切り替えでもなんでもないだろ
いつまでもOSネイティブなObjective-Cにしなかったアホが悪いでしかないのに、ゴリ押しとか基礎も結論も妄想がひどすぎ Swiftやってる連中はにわかが多いからしゃーない 旧MacOSはそういやPascal推しだったの思い出した Pascal, C/C++を拒否してObjCに強制誘導してるじゃないか、、、
同じようにSwiftも頼むよー C/C++が拒否されてるなんて全く感じたこと無いけど
C/C++でバリバリ書かれてるコードにちょっとCocoa APIをObj-Cで呼び出せばプログラムが完成するって感じだと思うけど
ObjCに強制誘導って思うのは、単にMac OS XのAPIを学びたくないからじゃないの? 強制誘導ってアホか?
Objective-CのベースだってMac OS X/OS X/macOSのバージョンアップによってC++に書き換えられてるし、CoreはCのままだし、OS X/CocoaはほぼNEXT STEPのまんまと言っていいくらい元々Objective-Cだし、IO KitはC++で書けだし >>128
推しというか、Macの開発(ほんとの生み出す開発)はPascal/Assembleで作っていたんだなあというのは、どこぞの博物館で公開されたQuickDraw/MacPaintのソースでわかる
推すも何もそうだったらそうなるだろ、ドキュメントとか。だが、サード開発ではCが大多数(&CでPascal形式API呼ぶのにほぼツーカーで何も問題ない)で、Appleもそれにならうでしかないな Google Search
Google Trends
Twitter
GitHub
Reddit
などなどを"X programming"っていうテンプレートで検索し、hits countsをrankingしたって事らしい。 >>130
ObjCをちょっと書かないとmacOS, iOSアプリが作れないように
Swiftをちょっと書かないとモノが作れないくらいのゴリ押しして欲しいなぁと
Appleは作りっぱなしで押さないし、信者はジョブズの聖遺物(ObjC)を崇めるし
Appleがゴリ押しした製品に寄生して銭稼ぎしようとbetaの頃に始めたのに悲しいよ 世界初のWebブラウザはObjective-Cによって産み出された
まあどーでもいいけど、いまやWeb全盛の時代にそういう言語で最新のアプリが作れる環境が与えられてんだから少しくらい感慨というものを感じてもいいんじゃないの 元々アホかなとは思ったが, >>135ぶりからアホってもんじゃねええ。Swift好きにも迷惑だと思うぞ >>130
C++を拒否というならSwiftによって/Swiftがだろうな、現在はw
macOS上のSwiftでは、まあ、Objevtive-C++でラッパー書いてそれをSwiftでだが、Linuxでぼちぼちっとじわっと使われているので、はよSwiftでC++のブリッジを(まあ、Cのインターフェースでラッパー作ればいいんだろうけど)
C++ブリッジの予定ないのかなあ Uiview.アニメーション関数を使いたいのですが、uiviewanimationoptionsの選択肢が
でてきれくれません。Youtubeを参考にしながら、optionsの部分をcurveLiniearに
したいのですが・・・cを入力しても候補が一切表示されず途方に暮れています。
どういった原因が考えられますか?助けてください。ゲーム作りたいです。 >>139
macOS/Objevtive-C++ありきのじゃね? rustのメモリ管理の仕組みが採用されたらどんだけ幸せになれんのかな。
そもそもrustごと採用してくれれば良いのに いやそうでもないか…
言語仕様に振り回されてはいるが大概自分に原因を帰着してる
まだ信仰心旺盛なようだ でも静的にメモリ管理を解決するって
どんだけ良いものか気になるんだよね。
どうせswift5辺りで採用されんだから、先にrustに触って先行学習してても良いかもね。
多分swiftに採用されたら下位互換性また壊れるぜ Rustの元になってるC++ std::unique_ptrをどうぞ
ObjC++でも使えるゾ
>>141
下手な風評はSwift好きに迷惑だからやめろやw >>139
時々見る、この「つ」ってどういう意味? >>148
c++にはなんでもあるんだね。
でも言語仕様で縛らなくても静的にメモリ管理って可能なの?c++のプリプロセッサがすごいってこと? >>151
俺には「つ」が手に見えない。手のひら?手の甲? >>152
オブジェクトへの参照が1個、複数の別で、
unique_ptr, shared_ptrを使い分ける。
参照するだけで、所有しないweak_ptrってのもある。
要するにリファレンス・カウント式のメモリ管理なのだ。
Objective-Cの設計をC++が取り入れたのかな? ちなみに、俺はC++を最近全然使ってない。C++詳しい人、
unique_ptr, shared_ptr, weak_ptr
の解説、よろしこ! >>154
ただのリファレンスカウント方式ならrustとは違うで。 逆だよ、C++のshared_ptrをObjCのARCに文法糖衣で取り込んだんだよ
>>152
unique_ptrは元々C++ boostのライブラリとして提供してたから出来るでしょ
ObjCもSwiftもそういう機能はライブラリじゃなく文法で取り込みたがるから言語更新待ちになるだけで リファレンスカウントは全然静的に解決しているメモリ管理機構じゃない。
rustのやり方はコンパイル時に指摘してくれるけど、リファレンスカウントはけっきょく動的に解決するわけだし。
それならとっくにswiftで実現してるし。ARCだろ。 >>157
Boost Software License - Version 1.0 - August 17th, 2003
って事は、Boostの方が歴史が古そうですなぁ。ObjCよりも。
俺、誤解してたわぁ。 Apple Inc. deploys ARC in their operating systems, such as macOS (OS X) and iOS.
Limited support (ARCLite)[5] has been available since Mac OS X Snow Leopard and iOS 4,
with complete support following in Mac OS X Lion and iOS 5.[6] Garbage collection was declared deprecated in OS X Mountain Lion,
in favor of ARC, and removed from the Objective-C runtime library in macOS Sierra.[7][8]
ref. en.Wikipedia://ARC
ARC Liteの出現は、2009, Snow Leopardからみたい。 rustのメモリ管理の仕組みを見てきたけどプリプロセッサで何とかなるというものじゃなかったから、
c++ならあると言うものじゃなかった。
言語仕様から改変か必要なものだったよ。
簡単に言えば、メモリの参照は一箇所に制限されて、そこからしかアクセスできないようにする。
たから、もしswiftでrustのメモリ管理機構が導入されたら、
100%既存のコードでは動かないし単純に変換もできない。
ロジックの見直しが必要だからね。
例えば配列にループアクセス中は
配列に対する変更操作はすべてコンパイルエラーになる。とか。 いやownership manifesto読めよお前ら
全部書いてあんのに >>148
https://github.com/sandym/swiftpp
これじゃねえの?XcodeありきObjective-Cありきだろ?
これじゃねえ、どれやねん? >>161
「メモリの参照は一箇所」
まあ、そうかもしれんけど、俺の理解では参照カウントを1以上に上げない
様なメモリ管理ポリシーを実践する事で、メモリリークは防げると思う。
それから、Instrumentsとdebuggerを活用するのが吉。
最近気がついたのが、command+IでInstruments leaksを起動して捕捉出来なかったメモリリークが、不思議な事に、break pointで一旦止めてdebuggerからInstruments leaksを起動すると捕捉できるんだよねぇ。 =ア 【はい】
こういうのも👉に見えてなかったとか… >>153
手の平。
https://nanapi.com/ja/25657
https://m.chiebukuro.yahoo.co.jp/detail/q1410591729?__ysp=MmNoIOOBpA%3D%3D
[つ]は手を表現しています。
例えば、[( ・∀・)つ旦]というAAでしたら
旦はお茶のAAですので、
お茶をハイ、と差し出している様子を表しています。
2ちゃんねるでは省略形をよく用いますので
顔文字が省略されて[つ]のみで使用されます。
>>165
まじっす! >>170
そんな、補足説明が必要なAAなんて、不要だわぁ。 >>135
つまりは皆が出来ないうちに自分だけはSwiftを沢山書けるようになっておけば、Swiftがゴリ押しされたときに先行者利益を得られると思ったけどそうはならなかったから悲しいってことだろ?
別にAppleが推してないなんてことないと思うし、Obj-Cを崇めてる奴なんていないと思うし、Swiftはまだまだバージョンごとに変更がある割には十分普及してると思うけどな
大体Swiftをちょっと書かないと作れないぐらいのレベルだったら大してSwiftの知識もいらないと思うし銭稼ぎできるようなもんでもないと思うんだけどな
はじめにObj-C使わなきゃいけなくなったときに本1,2冊ぐらいしか買ってないし、Swiftに関してはお金まったく書けてないし、金稼ぎできる要素がある気がしない
>>138
C++をブリッジするとなるとC++の複雑な機能全てをブリッジ出来なきゃ有用性が落ちそう
限定された機能で書かれたC++コードだけブリッジしてくれるとかだと結局C++側がそれ以外の機能使ってたらラッパー書かなきゃいけなくなるし、落とし所が難しそう Swiftの完成度が最初から高ければ状況は違ったかもな
あとむだにWithout Cに走ったのは筋が悪かったと思うわ C++ブリッジってそれもうwith C++だからな
テンプレート除けばそれなりに出来るだろうけど
テンプレート除いたC++に対応したところでだから何なのって話になるし Without Cをぶち上げたんだからもうCに関わるなよ
韓国人かよ... Cライクforもインクリメント、デクリメントもなくす無駄な徹底ぶりだからな なんかswiftどんどん構文追加して複雑になってないか?
phpみたい >>176
マルチプラットフォーム化に加えて
膨大なossがcやc++で書かれてるんだから無視は不可能だ。 むしろ、Objective-Cの「インスタンスは母体クラスに[おまえのインスタンスを作れ]命令で作成します」とか
「クラス間の通信はクラス[命令:引数]で明示的に他のクラスに実行させてるとわかります」が好きだったので
そのあたりswiftが「退化」しちゃったのが嫌。
言語仕様とクラス仕様が分離しててクラスライブラリだけ進歩してくとか
ソース内で自他の表記がしっかり別れてて「ここであいつがこれやって次…」
と読めるのが気に入ってたのに
他のグチャグチャモダン言語と同じ言語仕様変更地獄と
ソースになんだかわからない誰かが作った記号が普通に混じりますって
これ、ずっとプログラミング文化の発展阻害してた奴だ…と >>183
>明示的に他のクラスに実行させてるとわかります
Swiftでは分からんの? >>183
>ソース内で自他の表記がしっかり別れてて
これ何のことを言ってんの?
自他の区別がつかない言語なんてあんの?
そんな精神病みたいなプログラムあっても実行できなくね 多分全部staticで書いてんだろ
おそらくインスタンスとクラス、動的メッセージと静的メソッドの違いがわかってない $
↑こいつ
今までの理念をぶちこわすような暴挙
itでもなんでもよかったのになんでこれにした 一方俺は、ObjCの言語仕様にクラス変数が追加されて、既存フレームワークのクラスメソッドがクラス変数に変わって発狂していた
>>188
$0, $1, etc.として複数引数の場合でも引数記述を省略させるためでしょ
シェルスクリプトを書いたことないとなんぞこれってなるが、it0, it1よりはスマートだと思うが >>181
なので普通に考えるとObjective-C 3.0として改良発展させるのがよかったと思うんだよね... >>189
いちいち引数に名前つけさせて、
省略できるのはひとつまでって感じで今まできてたじゃん!
ここにきてこれ
itですら多少は意味があるが、$ってなに?
なんで急にドル記号が出てくんの itの方がマシというのは別に否定しないけど
「今までの理念」というのはSwiftには無くね 俺はitより$nの方がマシだと思うけどね
「名前を省略する」ためのものに「名前をつけた気になる」ために$nをやめてitにするってかなり本末転倒じゃない
どうせ具体的な名前が無いなら、極めて曖昧なitなんて単語じゃなく、どこまでも記号的な$nでいい
敢えて単語にするならanonymousArgumentとかclosureArgumentとかにして、クロージャの名前がない引数であるという意味を表さないと
itなんて、$nと同じぐらい何も意味を表さないのに、無駄に単語の体をしてるだけタチ悪いと思うわ
逆にwillSetの引数名省略時のnewValueみたいに、最低限あらかじめ意味が限定されてるところでは、$nでもitでもなくちゃんと最低限の意味を表す省略形になってる どーでもいいけどいい加減syntaxのセンスがクソ過ぎやしないか? 本音をいうと省略させたくない
書き方増やしてどうする 俺も書き方のバリエーションが増えるのは反対だな。誰が書いても同じ文法で、誰が書いたコードでも誰でもさっと読めるのが理想だったな。 swiftでrxSwiftさわったらすごくRxがわかりやすくなったのは良い思い出。
objcだとわけわかめだった。
構文って結構学習コストに関わるんだなって理解した瞬間でした。 >>198
Haskellが普及しないのは、その理想を追い求めすぎてるからだけどね >>200
書き方のバリエーションの少なさでいったらgoがいい感じではないかと。
中括弧の位置すら強制するからね。 objCは文法に多様性がありすぎて俺には理解できなかった Blocks構文は「それそういうクラスじゃいかんの?Cに付け足す理由は…?」といまだに >>199
ObjCにはCocoa Bindingがある。 >>204
双方向バインディングとRxを一緒にするない。 >>202
メッセージ式は面食らったが、CとJavaをやってたからあんまり覚えることなかったけどなObjC >>183
> クラス[命令:引数]
スレチ引っ張って悪いけど、ObjCにこういう記法あったっけ?
[クラス 命令:引数] とかだと思ってたのだが… レベルに合わせた書き方すりゃいいじゃんよ
generics,typealias,operator overload この辺は無理して使うことない
boilerplate無くしてえなーもっとコードを直感的に書きてえなー、そもそも今までの書き方飽きたから違った書き方してえなー
という欲求が生まれた時に導入すれば良い。そうすりゃObjCとも大して見た目変わらんしな >>209
なるほどぉ。
ところで、Swift -> ObjCへ移行する時に、RxSwift相当のFramework
って、ReactiveCocoaって事になるのかなぁ? Swift一発屋になってんじゃねえか。
ピコ太郎だってもっとまともにやってるぞ。
もっと頑張れよApple。熱くなれよ! >>210
言っておくけど、Rxとobjcは全く相性が悪い。
なんでかというとあのobjcのメッセージ式
Rxってメソッドチェーンが無いとかなり実装しづらいのに
objcでは書けないのだよ。
[]のネスト地獄を味わう事になる >>212
なるほどぉ
Cocoa BindingとかCore Dataを使えって事なのね。
ところで、ObjC Wizardの方々は、Core Data使うんでしょうかねぇ? Lispのtypoかよw
そういうワードがあるのかと真面目に受け取ってた
あ、自分はvim派なんでelisp含め使ったことないわ
elisp wizardは変態だと尊敬してる >>216
すまんw
まあメッセージ式のネスト地獄もLisp様から見ればかわいいもんですw >>212
メソッド呼び出しに、ドット構文が使えればObjCも描きやすくなるよねぇ。
Objective-C 3.0に期待だね。
id a = [[NSObject alloc] init];
->id a = NSObject.alloc().init(); // こんな感じ! 既にクラスプロパティとオブジェクトプロパティで実現できてるね!ObjCはすごいね!
クラスプロパティの存在を知らないんだろうなぁ、ObjCについてもうちょっと勉強してこい >>219
いや、引数あったら出来ないだろ
ところでドット構文マンセーな人ってiOSやる前は何の言語がメインの人? >>218
obj-cの魅力ってあくまでcの拡張でありobj-cの世界は[]の中だけってスタンスであってほしいから
ドット構文?はあんまり増やしてほしくない
個人的にはElixrのパイプ演算子(|>)をobj-cに採用して欲しい。
(元ネタはElixirじゃないかもしれないけど。)
[NSObject alloc] |> [@ init]
みたいな感じで使う。Elixirの場合だと返却値を次のメソッドの第一引数に渡すって意味だけどobj-cでは@を置き換えるみたいな感じで >>223
自己レス
プロパティへのアクセスだけだた 最近ObjC ageが激しいがnukeとかvaporとか読んで腰が引けちゃった連中が多いのかな?
ああこれc++の再発明かなと思うくらい難解なコードになってきたからな
POPがあるからまだ扱いやすいが SwiftはC++っぽくて地雷にしか見えない。
闇の軍団が好きそうな言語。 Objective-Cがまぁ長年主に言語仕様を弄るんじゃなくて
外部のクラスライブラリ更新で"外"に括り出してきたタイプの問題を
2010年代になっていまさら言語仕様直接変更の繰り返しで泥沼って
そりゃ車輪の再発明ってレベルじゃねーぞっつか…
あきらかに(筋の悪い)車輪を知らないところからの使者が
「おまえら未開の蛮族にまったく新しい言語を作ってやるぜ」って
泥の中でのたうってるのを眺めてるこの感じ。 ObjCが長年プロパティ、GC/ARC, ブロック文, nillable, ジェネリクスと言語仕様追加を繰り返して泥沼を作ってる中で
Swiftという新しい泥沼を作ってくれたから皆で泥遊びをしている中、泥遊びって子供かよ・・・と高二病な感じ
一緒に泥遊びしようぜ、やってみたら案外楽しいよ >>229
Objective-Cでもジェネリクス可能なのか?
どのレベルまでできる?
1. 型汎用な関数
2. 型汎用なクラス
3. 型汎用なプロトコル
4. 型汎用なプロトコル・エクステンション LattnerがGoogle Brainに就職
やっぱり人工知能やりたいんだな Google BrainといったらTensorFlow開発してるところだから、これはいよいよTensorFlowがオフィシャルにSwift対応するかもしれん 良かったな、お前らの教祖様の就職先見つかって。
Apple「Swift」の生みの親がテスラの自動運転開発をやめてGoogleの人工知能開発チーム入り
http://gigazine.net/news/20170815-google-hire-apple-engineer/ あのおっちゃん短期で技術リーダー採用してくれる所を探してたよな
来年には再転職しそう どうせまたリスケするんでしょ、、、とか思ってるけど
それとは別にラットナー のgist記事がRustのオーナーシップモデルをディスっててワロタ
Rustライクなメモリ管理をSwift4で投入するって言って結局Swift5に持ち越したのは忘れんぞ
ファーストクラスの非同期とファーストクラスのオーナーシップモデルを並走させるのはキッツイだろうがどうするんだろうね
理論的には出来なかないだろうが時間も技術力も足りずどっちかSwift6に持ち越しすることになるんじゃねーのか オーナーシップは初めから「4には入れられないけど」「将来的に〜」ってエクスキューズしてた
オーナーシップを4のゴールに含めるなんて話は一度も出てないはずだが 思うんだけどrustのオーナーシップモデルって後付で入れられるものなの?
rustを見る限り無理そうだし、
スマホの性能もこれから上がっていく一方なのに学習コストが上がる
メモリオーナシップモデルって導入する意味あるのん? SwiftからObjective-CのArreyを取得しようとすると、x0756846 のような、メモリーアドレス?しかとれないのですが、何か特別な変換とか必要ですか? >>245
CManeger.mmの関係しそうなところ
@property (nonatomic, readwrite) NSArray *hoge;
データ取得関数の最後に
self.hoge = hoge.array;
dispatch_async(dispatch_get_main_queue(), ^{
[self.delegate CManager:self didCompleteWithCandidates:self.hoge];
});
とあり、ブレークポイントはって確認すると、取得したデータがhogeにある。
HOGE-Bridging-Header.h
#import "CManager.h"
Hoge.swift
let objcCMng = CManager()
let ret = objvCMng.hoge
print(ret)
出力データは
Optinal([<CCandidate: 0x170226b80> , <CCandidate: 0x170226ce0>)]
という感じになります。
ただし、デバックエリアで確認するとself>objcCMng>_hoge>_orderedSet>_array>[x]>_hogeに取得データがあることは確認できます。
型変換か何か必要なのでしょうか? >>246
let ret = objvCMng.hogeを
let ret:Array! = objvCMng.hoge
にしてみたら? >>247
ありがとうございます。
試しましたが、出力結果はほとんど同じでした。
[<CCandidate: 0x170226b80> , <CCandidate: 0x170226ce0>] 何がみたいのかよくわからんのだが、、
dumpだとどうなる? 多分descriptionをオーバーライドしてなくてprintで<CCandidate: 0x170226b80>みたいに出力されるのと、型変換してなくて[AnyObject]?型のままになってるのの複合で混乱してるんだろう
前者はCCandidateのdescriptionを自分の望みどおりの出力をするようにオーバーライドすればいい
後者はSwift側で as? [CCandidate] するか、Obj-C側で @property (nonnull, nonatomic, copy) NSArray<__kindof CCandidate *> *hoge; とかすればいい >>249
some: 2 elements
- <CCandidate: 0x170226b80> #0
super: NSObject
- <CCandidate: 0x170226ce0> #1
super: NSObject
となります。
まだはまってます… 何したいのかいまいちわからんな
>>250のいう通りにすればいいだけだろとしか思えない >>250
ありがとうございます。
書き込み頂いた情報を元に、objc-cの言語仕様を調べながら触ったんですが解決せず、AnyObjectに問題を絞りこんで見ました。
結果、出力部分のコードを書き替え、データの取得が出来ました。
for i in 0..<objvCMng.candidates.count{
let ret = objvCMng.candidates[i] as AnyObject
print(ret.candidate)
}
皆様、ありがとうございました。 >>253
candidatesとhoge置き換えミスってます… let blue = #colorLiteral(red: 0, green: 0.4577052593, blue: 1, alpha: 1)
let white = #colorLiteral(red: 0.7803494334, green: 0.7761332393, blue: 0.7967314124, alpha: 1)
let orange = #colorLiteral(red: 1, green: 0.5803921569, blue: 0, alpha: 1)
let red = #colorLiteral(red: 1, green: 0.2352941176, blue: 0.1882352941, alpha: 1) 長ったらしい型名ばっかのコードは思考が阻害される
型チェックはしてるんだからべつにデメリットもない ビルドに時間がかかるようになるだろ。型推論なんて使わないほうがいい Swiftの型推論は単純だからObjCの型チェックとビルド時間は変わらないけどな
Rustくらいに賢い型推論して欲しいよ その解説だと型推論じゃなく数値型がstructであることが本質の問題だよね?
let a: Double = -(1 + 2) + -(3 + 4) + -(5)
と
double a = -(1 + 2) + -(3 + 4) + -(5);
で違いが出るならそれはコンパイラ組み込み型を常用せずstruct型扱うからでしょ
プリミティブ型削って構造体型を多用するSwiftはイマドキだよな
NSIntegerみたいに32bitなのか64bitなのか分からんことになるよりは良きも悪きもあるわな 推論に任せないで型を記述した方がコードの見通しが良い気がする 型を決定するために5cm以上目線の移動がある場合は型を記述したほうがいい俺ルール ジェネリクスみたいに長い同じ型を何度も書く羽目になるやつは
混ぜた方が見やすい Swift 3移行まだしてない人いる?
うちの会社は再テスト面倒で未だに2.4使ってるんだが。
Swift 2.4 -> Swift 4で済ませようかなって思ってる。 そもそもSwiftに移行してない(する必要がない) 自分とこは業務でSwift使うの金かかりすぎると2.2の後は3にせずObjCに移行した
メンテ工数かかるし素直に実装し直しを検討した方が良いんではないかね
1.1から2.2まで商用コードをメンテした過去の自分らを褒めたい >>266
Swift使ったことないなら参考にならないから黙ってるといいよ:D 移行してない=使った事が無いというのは発想が貧弱ではなかろうか func sum(i:Int, i2;Int, i3:Int) -> Int{
return i + i2 + i3
-> Intが後ろの方にあるの、変な感じがするんですよ
func Int sum(i:Int, i2;Int, i3:Int)
こうしなかったのは、どうしてですか? c++でも型推論が簡潔にかけるという理由で戻り値の後置構文が追加された。
その経緯をみて決めたんじゃないかな。 >>272
アレってtemplateの引数依存の戻り値を返したいからじゃなかったの?
コンパイラに型導出させてウマー、っていう
template<typename T, typename U>
auto operator+(const T& t, const U& u) -> decltype(t +u) { return t + u; } >>270
C言語っぽくないことにとことんこだわったから >>270
セミコロンじゃなくてコロンだよ
引数の型の指定は xcodeが使いにくいんですがjetbrains製のideでiosアプリ開発ってできるんでしょうか 何が使いにくいのか?
慣れの問題もあるの思うが
とりあえずAppCode触ってみたら? realmはcasecade使えるようになりましたか? この言語仕様改定多すぎだろ。
C++が三年周期でやってることをこいつら一年単位でやってねえか? xcode9で新規に画像がimageViewに表示されないんだが
xcode8で作成したものは9でも表示される。
iMacもMacBook Proも同じ現象なんだが俺だけだろうか どうせ画像をターゲットに入れてないとかしょうもないオチだろ 284ですが解決したので一応報告。
Xcode 9のバグでした。
画像をドラッグアンドドロップではシュミレーターで画像ファイルが
参照出来ない。
メニューから画像追加で表示されるようになりました。 >>282
Javaは今後6ヶ月ごとにバージョンアップらしいで また来年おなじことの繰り返しやで
再来年も、その翌年もずっとやで 今回Swift対応なんて無いようなもんだろ
フレームワークやX対応のほうが大変 Swift4対応のXcodeにアップグレード完了した。。 >>292
バージョンによっては速いぞ。
初期は遅かったけど。 先月Swift 3対応したばかりなのにまたSwift 4対応しなきゃならない。
Swift 2から一気にSwift 4対応したほうが良かったかな、失敗した。 >>294
昨日の会議でSwift3.1対応が残課題で有ったんだけれど、もう4になったとは言わなかった。 Objective-Cで書いときゃメンテフリーだったのに iOS 11で脱落したアプリはSDKの変更についていけなかったか費用対効果で更新をやめただけ。言語のメンテナンス性とは別の話 実質同義なんだよなぁ
せめて費用対効果がObjC AppメンテよりSwift Appメンテの方が効率悪いと言えば良いのに
ObjCならメンテフリーとかアホなこと言うから突っ込まれる
さておき、このスレでもSwift2の頃にSwift採用したPMは死ねとPG視点で大合唱だったのに
まだSwiftを商用採用する企業いるのが悲しいのう、その頃に作ったものをメンテしてるのかもしらんが辛いな >実質
>App
言語スレで言語の話をしてるのに勝手に条件を付加するなよ iOS11でObjC Appがメンテできなくてアプリが減ったと言う話をしてたのに何を言ってるんだ・・・
「Objective-Cで書いときゃメンテフリー」とは一体何を指しているのか
あと、ObjCの話をしたいならObjCスレかせめてSwiftアンチスレに行けよ
別にApple信者じゃないからSwiftマンセーしてるわけじゃないのにObjCを笑われたからってSwiftスレで絡むなw ObjC Appがメンテできなくて でなくて、メンテされてないアプリが消えただけじゃないの
ObjCだかrメンテできなくなったって、なに? ああ、Swiftだったら簡単(?)なのにObjCだからメンテされなくなったとでも言ってるのか??まさかだが、そう思ってるならそれはナイな
お前みたいに変なこと言い出すヤツいるから聞きたくもないObjCの話が長くなるだろうにw 開発環境の話
・Xcodeアプデ→言語VerUp→Swiftコード要メンテ
・ObjCならメンテ不要だった
ユーザー環境/ストアの話
・iOSのVerUpでObjCもメンテが必要になる
・Swiftの方が効率悪いと言えば良い
↑
前提がズレてる
・ObjCだからメンテできなくなったって
・Swiftだったら簡単とでも
↑
対偶的な意味でズレてる swudt2あたりで知識が泊まってるんだけど今のswiftはどれくらい良くなった?
俺の中でoptional型の概念とか関数型の世界を見せてくれたswiftには感謝してる。
今はtypeScriptメインだけどね swiftは良いものだがRXとかReduxはライブラリ必要で恐ろしく書きかたが変わり危険なので個人的に好きじゃない
iOSはそもそもMVCなのでMVVMいけ swiftのビルドの重さで新型Macが売れてます
ReduxとかRXのおかげでiPhoneのバッテリがガンガン減ります
結局ObCのほうが良かった、とかwww 型推論とかでビルド遅くなるなら要らないけどな
Optional型も適切にnilチェックしてれば要らない
Macとか本売りたいだけなのかな >ReduxとかRX
RXは書式が気持ち悪くて論外だが、Redux使うくらいならビジネスアプリはシンプルでライブラリレスなMVVMでしょ絶対に開発早いし
Appleはrxcocoa禁止したほうがいい xcode XくらいでAppleがMVVM的なフレームワーク出してくるかな
RXは早く死に絶えて ライブラリレスなんていう移植無視な開発なんてやらぬ >>308
バッテリの減りは初耳
裏で動く処理が多いから? Swift 4になってからコンパイルめっちゃ遅くね?
Xcodeが固まりそうなほどなんだけど。 なんでそんなに時間がかかるのかね
構文解析がめんどい→人間にも解析がめんどい
じゃないのかと... Swiftの読みづらさは異常
無駄なwithout Cの追及により構文解析効率が悪化してんだろ swift+reactive なんて読めたもんじゃない
KVO地獄 varとか書くんだったらもはやvarも無くしちまえよまったく... 型推論とかいうおバカプログラマ向け仕様をやめればvarなどという間抜けなキーワードはいらないわけで いまだにJEPどまりで予定すら立ってないというのが 99% varでいいよ、面倒くさいから
変わらないobjective-cの安定感がたまらん
超開発早いし 新しいこと覚えるくらいならビジネスロジックを勉強するよ
言語だのリアクティブだの状態管理だの
フルスクリーンアプリじゃユーザーに全くメリットないし
業界に踊らされているだけ しっかりobject志向で作れば読みやすいしnullはチェックすればいいだけ
swiftでif letやguard書くようにobjective-cで書けばいいじゃん
ビルド速いしobjective-cで何の不満もない
swiftでreactiveで状態管理でとか、Appleがやってない事を無理矢理・・開発難航させるだけ そのチェックが大変すぎるから問題になってるんだろうがああああ
全変数だぞ全変数
Javaのオブジェクト変数は全部NULLになりうるんだ Javaだとこんなんでもアウトだしな
return a.getName().length(); ObjCもプロパティアクセスはドット表記がモダンでnilアクセスで落ちるだろ
こんなんでアウトだ
return a.name.length;
まぁSwiftでもObjCの関数の渡ってきた変数は信用できずちょいちょい落ちるんだがな(ワロエン swiftのビルド時間がobjcの半分でもなったら使おうかな
型推論なんか時間の無駄 >>329
スレッド間競合でいつnil化されるか分かんね、ってケースか?
だったらスコープ内でローカルの強参照に放り込んでからnil判定挟めば自分のスレッドで当該スコープ内はしなないんじゃね >>336
それにはまったく同意だがスレチじゃね? 型推論使うの止めようって言ったら、所詮中級の基地害プロマネが顔赤くしてブチキレた。
結局30人(サーバ、Android等含む)で3ヶ月掛かって作ったものは、ユーザテストで使い物にならなかった。
HumanInterfaceGuidelinesを知らないデザイナは、単なるお絵描き。 論理的文書構成ができない>>340を部下に持つ中級プロマネかわいそう というか、型推論使えとか使うなとか、そんな細かいことPMが言うってどんな状況だよ
プロジェクトマネジメントとなんの関係もないだろ なんで型推論やめようと思ったのかが気になる
コンパイル重かったのか
へぼグラマーにありがちだが
自分がよくわかんない部分を取り除けばすべてよくなると思ったのか 型推論をやめようと言ったら切れられた
↑やめたい理由もキレられた理由も理解不能だが言っていることはわかる
何故かユーザテストで使い物にならなかった
↑ん?型推論と関係なくね…
Guideline知らないデザインナーはただのお絵かき
↑もはや何の話をしているのかわからん!
ここから推測するにPMにキレられた理由は>>340がアホだからだな 30人も使って3ヵ月って規模からしたら超タイトだな
完成品にこぎつけてる時点ですげーよ
携帯ってこんなもんなん? ひぇぇ
枯れた業務系で仕事してるが
知らんあいだに世の中どんなことなってんだ マネジメント力にかかってる
人数増やすほどなおさらその人数を100%に近い稼働率で動かすのは至難の技 アプリのプログラミングは1人1画面って感じなんかね
サーバーサイドにマンパワー使ったかな swift使わなきゃまともなプログラム作れないなんて
所詮アマチュア
swiftのビルドの遅さは一体何?アホ遅いよな? COBOLとかまだ現役
5000ステップくらいならコンパイル3秒www Swiftは趣味で日曜プログラマが使うにはいいと思う >>349
中小は自信過剰なアホジジイがマネジメントしてるケースが多いから困るよ swift6あたりで可読性も兼ねて型推論は無くなるだろう。
型推論など甘え。 クラス変数やメンバ変数は型が明示されてた方が可読性は高いと思うけど、一時的な変数をいちいち型宣言するのは面倒いよ めったにないけど型がついてないと
呼び出し先のメソッドの戻り値の型がこっそり変わって
それに引きずられて呼び出し出し先のメソッドが変わったんじゃないかとか
心配事が増えることがある let someName = String(format:"User %02d", userId)
みたいなのは明らかにStringってすぐわかるから書かないようにしてるけど、
ややこしいメソッド呼んで戻り値の型がぱっとわかんなそうなやつは書くようにしてるな。
let analyzedDataMap = analyzer.analyze()
みたいなやつね。 そういうケースは
なるべく右辺に型を書くようにしてる 後でコード読む時に、型を調べようと思ったら関数まで飛んで返り値を調べないといけないからな
文字列みたいに明らかなのはいいけど、オレオレ関数の返り値を代入する場合はなるべく型宣言した方がいいかもね メソッドチェーンや引数に関数呼び出しを直に置くのもしないの?
同様に戻り値の型が明示されないまま流れていくけど >>363
そういうのはもうひとつのイディオムみたいなもんだから、わざわざ変数宣言しているものに比べてなんとなく流れだけわかってればいい場合が多いと思うけど。 >>365
変数宣言って「わざわざ」なんて言う程のことかな
同じ参照を複数回使うために変数に置くとかよくあることだと思うんだけど
こういうの前者は良くて後者のrは型明示すべきなの?
f(t.load(), kNameIndex)
↓
let r = t.load()
f(r, r.index("name")) まぁ、関数の引数は補完機能を使えば型も参照できるからそこまで拘る必要ないかなと思うけどな
引数には分かりやすいラベル使って欲しいとは思うけど >>366
文脈によるんじゃないの。メソッドで何回も使われる重要な変数が型ついてなかったら読みづらいし、局所的に2回ぐらいしか使われない変数だったらどうでもいいと思う。
型推論なんか無価値だと主張しているつもりはないので。
C++のmapのiteratorとかちゃんと型を書きたくないしさ。 可読性の向上のために型推論があるのに、コンパイラが推論可能だからといって、人間が推論することが難しい書き方はするべきではない ほんそれ
そもそも型推論なんていらん
むしろ考慮することが増えて面倒 型推論いいじゃん
コーディング量が減るし
let age: Int = calculateAge(fromBirthday: birthday)
let age = calculateAge(fromBirthday: birthday)
let name: String = nameField.text.stringByTrimmingCharactersInSet(.whitespaceCharacterSet())
let name = nameField.text.stringByTrimmingCharactersInSet(.whitespaceCharacterSet())
紛らわしい変数名とか使わなければ型は自明なケースも多い ところでSwiftとかKotlinとか似たような言語がポコポコつくって何がしたいん 微妙にちょっとずつ違うから
最終的にいいとこどりして
C#がさらに最強になる >>372
ageをひっそり月対応にしといてやんよ まぁ型推論が有効なのってideとの連携前提なとこあるよね。
結局この型どうやんねんって時にフォーカス合わせれば型がわかるから使えてるところはある いろんなソース読んでるとBaseViewみたいなの用意してストーリーボード上でそれをNavigationControllerより前に置いてるんだけどどういう風にどういう意味でなんの利点があってやってるんですか? そのBaseViewがソースでどういう使われ方してるのかみてみないとなんともいえんな >>377
なかなかナゾな書き方だなw
BaseViewController -> NavigationController
NavigationController -> ViewController.view.subviews[0](=BaseView)
StoryboardにはViewを単独では配置することはできない、また、単にViewControllerではなくNavigationControllerってるとこからは前者か?と推測
前者のは利点はわからんなあ、逆にあんまりNavigationControllerが必要でなくViewController -> ViewController -> ViewController ... な遷移でも書けるがNavigationController中で遷移させた方が利点があることはあるのはある
後者は(なんか別に配置して)目一杯でなくなった場合にとかだろうと推測 >>372
375でも書かれてるけど、ageって必ず年ってわけじゃないからageに関しての例は適切じゃないと思った。
FloatなのかIntなのか事前に知っておきたい場合ってのも結構多いし。 >>376
そう
何に推論されてるのか推論するのが面倒なときがある
結局単にIDE依存度を高める機能 年齢の型が浮動小数点数なわけないだろ常識的に考えて 誕生日からの経過月数や日数、ひいては時間や秒まで浮動小数点の年齢として表現することにする実装もありうる
常識的っていう曖昧な前提はプログラミングではいらない >>379
御察しの通り前者です
どういう風に使っているかと言われると、表示に関係者した共通処理?プログレスの表示などのをまとめてるっぽいんだけど画面数が多くなるとまとめたほうがいいのかな >>383
年齢に整数型以外を使うときは、typealiasするなり型を明示して、変数名もageにはしないわ常識的に >>384
BaseViewControllerでググったらあった、複数。こんなん流行ってたのか
https://qiita.com/yimajo/items/8ef1850e1362bd3bf3d8
基本否定姿勢だけどちゃんとメリットも書いてある/理解してる(?)とても良い人の意見なんじゃね?w
俺にはそれでもメリットは何も感じないけどww >>380
事前に知って起きたい場合じゃなくて、事前に決めて起きたい場合じゃないの?
型推論があれば受け側の変数の型を宣言しておけば、同じ名前のメソッドを使い分けられるんじゃない? >>385
つまり最初から型書いとけばこんな下らん議論はいらないということだ
IDEもあるのに型を書くくらいがめんどいやつはプログラマやめちまえばいいと思う アプリ全体のviewControllerで行う処理とか後から追加するのが面倒だから、実装なしでもbaseViewController継承しておくのがプロ アプリ全体のviewControllerで行う処理とか後から追加するのが面倒だから、実装なしでもbaseViewController継承しておくのがプロ 大丈夫
モダンな言語を触ること自体が喜びの意識高めの方々にはまったく苦にならないから >>387
書く側としたら事前に決めておきたい、だけど、読む側としたら事前に知っておきたいという感覚になるのかな、と。
あと、ライブラリを部分的に知ってるような場合に、どこで自分の知ってる型が出てくるかわかるだけでも全然読みやすさが違うとかはあるよ。
名前の付け方がよければそんなことないかもしれないが、そうでない場合、全部一個一個チェックしていかなきゃいけないわけだから。 ソースを追ってて型が明示されてないと分からなくなることってそんなあるか?
いちいち型が明示されててごちゃごちゃしてるよりすっきりしてる方が好みだけどなぁ
どうしても知りたければIDEの構文補完ですぐわかるし
コンストラクタとかは呼び出しそのものが型宣言みたいなもんやし冗長やろ
let query: NSMetadataQuery = NSMetadataQuery()
let query = NSMetadataQuery()
let fileManager: FileManager = FileManager.default
let fileManager = FileManager.default
as演算子を使う時も型は自明
let appDelegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate
let appDelegate = UIApplication.shared.delegate as! AppDelegate 逐一型宣言してたら、後でクラス名とか変えたくなった時に影響範囲も増えるからな おまえらみたいな意識高い系のおかげでかいしゃは消える
なぜならユーザーメリットなく 常に意識高く(=コスト高く)
皆が意識高いわけじゃないし
もうIDEが プログラム推論 で全部書けよ そのうちAIがプログラムを書くようになる日もくるだろう
俺たちの仕事は要件定義だけ
そのうち、要件定義すらAIがやりはじめるだろう
もう俺達の仕事はなくなるね IDEがないと書けたもんじゃないモダンな言語
実に感慨深い IDEが無くても書けるモダンな言語って一杯あるもんな とにかくビルド遅い、Mac全体遅くなる
swift死んで欲しい 昔はObjective-Cという言語があってだな。 swiftの進化は止まらないキリ!(常に仕様変更) しかし、案件がほとんどswiftだらけになってきたな Swiftならアプリ自体は大した更新がなくてもメンテ費の上乗せが出来るな 順位 プログラミング言語 インデックス値 推移
1 Java 12.431% ↓
2 C 8.374% ↓
3 C++ 5.007% ↓
4 C# 3.858% ↓
5 Python 3.803% ↑
6 JavaScript 3.010% ↑
7 PHP 2.790% ↑
8 Visual Basic .NET 2.735% ↑
9 Assembly language 2.374% ↑
10 Ruby 2.324% ↑
11 Delphi/Object Pascal 2.180% ↑
12 Perl 1.963% ↓
13 MATLAB 1.880% ↑
14 Scratch 1.819% ↑
15 R 1.684% ↓
16 Swift 1.668% ↓
17 Objective-C 1.513% ↓
18 Visual Basic 1.420% ↓
19 PL/SQL 1.408% ↓
20 Go 1.357% ↓ 逆ギレww
っていう風なのかもだがマジっぽさの方が上回る。うまいんだかなんなんだかww >>418
このアセンブラって具体的にはどういう分野で使われてるのかね そういうガチでとかいうのではないだろう。ググるくらいな人ばかりなんだから
学習とかデバッグでとか極めて一部をハンドアセンブルとかとか諸々じゃね >>423
チップとかファームウェアとかの組み込み系
カード会社や航空会社で使われてるTPFでもまだアセンブラ使われてる
TIOBEは用途も業界も関係ないから
長期的なトレンドの参考にはなるけど
相対的な順位を見てもほとんど意味ない >>427
なるほど
確かにチップとかのなかのマイクロコードはアセンブラってのはしっくりくる もうswiftは死ぬな
型推論を許さないswift、speedに乗り換えるかな 全部varで全部nil許容で全く問題ない
どうせアプリなんか使い捨て
reactive?オナニーでしょ?学習コスト考えたら
objcで速攻リリース、かつ何度もも作り直したほうがマシ ユーザメリットで考えたら、型推論?リアクティブ?氏ねば?
って感じだろうなw
型推論なんかしてないでテストコード自動生成しろとw swift+リアクティブってロシアの嘘ニュースみたいな感じで、誰も幸せになってない気がする 型推論を目の敵にしてる奴なんなんだ
絶対いるし
それとnil許容だけはだめだ絶対だめだ 学習コストがーなんて言い出したらもう技術者として終わり おれはできるだけ楽したいからobcでサクサク儲けるよ Swiftはまだ歴史が足りない気はする。
最近、お客さんから「Xamarinで」とか指定されるし。 SWift のUIKitとかFoundationとかのAPIの日本語マニュアルとかどこにあるん?
英語のアップル公式のしか無いんか? >>438
ttps://developer.apple.com/jp/documentation/ >>439
そこにある、日本語化されたのって
Objective-Cしか無いように見えるんですが
これのSwift版がどこかなぁ....という相談でして.... >>440
ない
というかObjective-Cでよくね? >>444
ですよね、やっぱSwiftの箇所無いですね
タイムスタンプ相当古いままのも多いし swiftって3から出せば良かったんだよ
ググっても2.xの構文だと今はほぼアウト
しかしCORE i5のMacbookじゃ遅くて開発にならないし実用的じゃない
客にXamarin勧めて良かった Swiftは型推論禁止オプションをサポートしたらかなり普及すると思うしIDEもめちゃくちゃ反応良くなるはず。
候補の出が悪いのはIDEとして致命的欠陥だから。
型なんか書くからさっさとビルドしろよ。何回もビルドするんだから毎回の推論は時間の無駄。
アプリなんか時間かけて作るもんじゃないし。ただの金儲けでしょ? うぜえ
どうせどっか1、2ヶ所変な書き方してそこで時間くってんだろ 他の型推論がある言語は推論でこれほど遅くなることは無いんだし
Swiftの言語仕様かコンパイラの実装に問題があるんだろう 意識高いのはいいが学校でやってくれ
実務に持ち込むな!客は迷惑してる!
obcに強制nilチェック機構を採用すれば何も問題ない
でもAppleが公式にC#採用する事を祈る 他の型推論ってほとんどスクリプトだろw
コンパイルしてるので、この速度はあるの? 本来は型推論で
var num = 0
だったのが
型強制で
var num: Int = 0
になったんだから
Int num = 0
の書き方もいい加減認めて欲しい コンパイルが遅いとかどんだけ年代物のMac使ってんだよ貧乏人がw >>452
使ったことがある範囲内ではC++11, C#, Kotlin 老害だとか年代物のMacだとか頭の悪い擁護ばっかりだから馬鹿にされるんだよ。ビシッと言ってやれビシッと! そもそも変数の型を自動化する構文が無くとも
「〇型は×型に代入出来ません」とか「f(〇)のオーバーロードはありません」とかの
エラーがあったように右辺式の型の導出自体はずっと前からあるしな
なのでlet, varでなくともジェネリクスや関連型、型制約が組み合わさる関数呼び出しとかでも
コンパイル時間伸びてんじゃないのって気も SwiftでUIKitの
UITableView とかって
実装しようと思うと
numberOfRowsInSection みたいな Required が無くてエラーになる
んで
XCode で UITableView の定義を見つけに行くと
Objective-C
の方のヘッダーがでて来て
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
が出て来る
これを皆どうパッと
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
の方に書き換えてるんだろう? テキストエディットかなんかでコーディングしてる人かな? >>461
ロクに書けない無能が、煽りだけとかキチガイ? 元スレ読んでないアスペの集まりか
元スレも XCodeって書いてあるだろ >>466
JetBrainsのIDEはどれもほんとに出来がいいよね プロトコルメソッドで補完wwww
初心者バレバレ、UITableViewも描いたことない奴がデタラメばっかだな お前んとこのXcodeは補完してくれないのか?
大変だな >>472
恥の上塗りとか馬鹿だな
プロトコルメソッドも知らない馬鹿だって証明してるだけ
恥ずかしいアスペだな >>474
さっさと説明すればいいだろ
何もったいぶってんだよ >>474
そうやって煽ってばっかで
出来てるような事言って、やっぱり即答で説明きないんだな
ID:Hzs+v4sC0 の書いてることは全部出鱈目でFA >>475
そんぐらいググればいいだろw
何甘えてんだよ >>477-478
func tableView(_ tableView: UITableView
で補完に何が出てきた? >>477-478
補完のやり方がわからないんじゃないからね
次スレで補完に何が出てきたか書けないなら出鱈目でFAな >>481
はい次スレって書いたからな
お前の書き込みは全部出鱈目でFAな
アレだけ自信タップリに書いて即答できなかったな
お前の書き込み煽りと出鱈目情報しかないじゃん
迷惑なんだよ
結局そうやって何も書けないじゃん >>482
ほらやっぱり出鱈目で逃げた
単なる荒らし >>483
はいはい
こんなところで乞食せずにまずは1冊本読もうな
TableViewの使い方くらいはどの本でも載ってるだろうから >>485
お前がダメだ
ググレ書いて、結局お前も補完結果書いてないだろ
それでお前お得意のググって何て書いてあったのか言ってみろ
単なる荒らしじゃねーか
出鱈目ばっか書いてんじゃねーよ プロトコルメソッドも知らない馬鹿が逆ギレしてるだけにしか見えないな
こうもプロトコルメソッド知らないアホが多いとは思わなかった プロトコルメソッドは補完できない?
なんでそう思ったんだよw 「プロトコルメソッドで補完wwww」のひと再登場ww これはアレだよ、こんな馬鹿なヤツが好むSwiftというSwiftアンチの成りすましだよww
知らないまたは勘違いは馬鹿ではないが、ここまで言い張り自信満々ってのは馬鹿を超えすぎてるもの >>451
Swift否定派=老害
ってことですか? >>464
俺はIDEはもちろんXcodeだけどエディットはWindows上のVS Codeからリモートでやってる
プログラミングでMacのキーボードなんて使ってられるか Rxは氏ね、パラダイム変わったらソースコード捨てなきゃ @IBActionは使うなって?
ま普通使うよ、rxは使うな、未来ないからwww マルチに展開しているRxよりも未来のないswiftさん >>506
>私は Apple Pencil 向けのサンプルコードを見つけようとしていました。それは全て Swiftで書かれており、今日までどれもコンパイル出来ません。
ワロタ だいたい世界的にもまぁみんなおんなじこと感じてるんだなぁという感想
さすがに古くさくなってきたかなぁって名作言語の後継と言って
微妙にコレジャナイ佳作レベルの言語出されてもどんな顔すればいいんだ的な。
「旧ガンダム」はさすがに古いでしょう?
さあ、紹介しましょう!これがまったく新しくなった宇宙世紀!
「ガンダムUC」と「ユニコーンガンダム」!
「あ…うん。」「お…おう…」的な 進化=簡単になるべきなのにswiftは仕様がごちゃごちゃしていてわかりづらい
やりなおせ FORTRANに対するBASICみたいな割り切りが
なんか「メイン言語」化する中でできなくなって
また屋上屋を重ねる仕様変更地獄に陥ってる感じ。
それ、他言語が散々やらかしたパターンじゃねーかっつう そもそもAppleにはまともな開発環境作れる能力がないんだよ
MSかGoogleに土下座して頼めばいいのに きみはWindowsPhoneと泥のクロス開発でもやってなさいw >>507
それ誤訳だよね
None of it compiles today. >>515
「今日では」とかにするべきところを「今日まで」にしてるからか?
誤訳だって言うなら自分が正解と思う訳くらい書けや 便乗してみる。
>今ではどれもコンパイル出来ません。
かなぁ。 以前のサンプルが今ではコンパイル出来なくなってるってことか。
そっちのほうが深刻だな。 サンプルレベルなら自動マイグレーションですんなり動くだろうと思わなくもない
Xcode 8なんぞ古いXcodeも確保しておかなければならいが、特に問題なわけでもなさそうな 業務でSwift使ってるんじゃない人は気楽でいいですね
以前のコードが深刻なレベルでコンパイルできなくなるなんて
他の開発環境じゃ起こらないことだから
昔からだけどAppleはアプリ開発者を舐めすぎ >>520
昔からって知ってるのになんでやっているのだか?>>512といい>>513のままだな
単に金のためにか、やっぱ >>522
はあ?iOSアプリの開発の仕事は押し寄せてくるからだよ
iPhoneがまぐれ当たりしたばっかりにな
単に金のためだよ?それが何か? 仕事としてのプログラマーか。いっぱいいるよな、アレな人はw
で、Swift選んだかのか?自ら苦行wに入ったんじゃねえの?
金のためだろ?我慢するなり、頑張るなりしろw金のためなんだから 仕事として「だけ」のプログラマーか
だな。いや、金儲け「だけ」のかw >>524
使う言語をいつでも自分で選べると思ってるようなニートはもう喋るな
それとも相当な上級さんかなw 案件で言語指定してるとこなんてごくごくごくまれにしか無いな
Swift指定してきてもあまり利点は無いですよって言うしwてかさ、お前がどういう組織なりでやってんのか知らんけど、Swiftの破壊的仕様変更は+αの金儲けのチャンスやん、なんか知らんが強制(?)されてならw
お金に関して関わっていない言われたことをやる/やらされる立場なんだろな。上級とかいい出してるのをみると、どういうIT関係なのかだいたいわかるけどw >>527
お前のところでもごくごくまれにはあるんだろw
俺のところではむしろ通常なんだわ、言語どころがIDEまで指定されることが多い
客先で成果物をメンテしなくならないことが多いからな(最終納品先は省庁関係が多い)
お前とは話が平行線のままだろうからもうこれで終わり そういう環境で金儲けのためにだけにやってるんだから、お前自身が選んだ環境だろうからお前自身の責任がかなり大きいだろし、金儲けだけなんだから我慢するなり、頑張るなりしろwでしかないな
>>513の言うとおりでしかないとは、恐れ入るな>>513はww >>526
自分で選んだなら自業自得だし、そうでないとしても金もらってやってるんだから我慢しろってことじゃないかと しかたなくやってるんだから何の批判もするなと
なるほどなるほどカルト宗教の集会に紛れ込んでしまった俺がバカでした >>530
うん。金のためにしかやってないなら尚更ね。まあ奴隷のような給金でやらされているのなら可哀想だけどw
しかたなくやってるって、やっぱり奴隷か?w Swiftの破壊的仕様変更は+αの金儲けのチャンスっていう視点のかけらもないことからも...w
しかたなくやってるって言い訳が通ると思ってるのがわけわからん。自分に対する言い訳ばかりなんだろうなと穿って悪意をもって見てしまうなww Swift 1時代やSwift 2時代のプロジェクトを保守する場合、見積もりとか面倒そうだな。
Swift 4対応って形で別料金取ればいいのか? >>528
省庁関係ってWindows案件だよな?iPadとかMac案件あるの? えーiPadじゃないのーって例の童貞コピペされちゃうぐらいには
いまWindowsノートとか泥タブは社会で恥ずかしい存在だしな。 swift人気ないな、これからはJavaScriptだな
swiftってキレッキレのダンスみたいでもういい加減にあきた
プログラムなんてゆる〜く書いてツールが指摘してきたらなおす
そンな感じでデザインとかビジネスロジック優先
ほとんどのアプリなんかデザインから2ヶ月あればリリース swiftは保守が大変→ってイメージが定着してしまった
それに初心者に全く向かない変態仕様になってしまった
もう人気ランキング浮上することはないな
jsで十分、次期xcodeもjs対応してくる jsというよりtypeScriptかな。
optional型とか、ジェネリクスとか。
swiftでいいなーと思った機能は結構入ってる。不満は?でアンラップできないくらい。 型推論しないobcのlight weight genericsで十分 Go言語とかどこで使われてんだよ
地下勢力でもどっかに潜んでんのか? >>546
画面のモックアップに?
それともクラス設計の雛形に?
それともロジックの確認に? PoCかな
そもそもそんな製品あったとして使うかどうか Goはジェネリクスかたくなに入れなかったり
意図的に言語の競争に参加するのを拒んでる気がする >>550
色々混ぜ込むと結局コモディ化していくだけだから。
でもOptional型は対応してといてほしかった。これは最初から言語に入ってないとどうしようもないし。 Xcode 8.3.3, OSX環境でSwift使ってScriptingアプリ作ってたんだが、プロジェクトをXcode 9.1向けに上げたら苦労している。
@objcMembers指定だけでいけるはずなんだよね?うーん。 >>552
俺昔から疑問だったんです。
Scriptingアプリってどうやって実装するの?
特に、アプリで操作される側は、どういう作りにしておけば良いの?
WindowsだとsendMessageを使ってアプリの操作ができそうな気がするけど、
iOSアプリだとどうするんだか、見当がつかん。 >>553
iOSならこことか。
ttps://developer.apple.com/jp/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html
ttps://developer.apple.com/library/content/documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Introduction/Introduction.html#//apple_ref/doc/uid/TP40010403 >553のはOSX向け、Scriptable Applicationの話なので別物。 var a: Int?
a = 10
a! += 1
a! += 3 552です。自己解決。
ttps://stackoverflow.com/questions/25605805/swift-nsscriptcommand-performdefaultimplementation
このsdef/cocoa classネタは再発になる。
Xcode833では大丈夫だったのに。
Swift4 SE-160実装での考慮漏れ?じゃなかろうか。 AVAudioEngineを使って録音してるんだけど、もしかして16bitでファイルに保存できないの…?
installTapの中でAVAudioFileに書き込んでいってるんだけどエラーになる… >>566
swiftの開発者がgoogleに行ったからかな? こりゃSwiftは消えるな。
出て数年で、これだけ囲い込んでプッシュしても
早くも堅調に右肩下がりとか尋常ではない。 えー。せっかくかけるようになったのに。
もうちょい頑張ってよ。 swiftの仕様が安定するより、
kotlinがllvmに対応するほうが早い。
全アプリkotlnかjsで、かけるといいよ ラットナーは「AIをより簡単に」みたいな話だった気がするので、swiftからpythonに繋げてくれたりすれば個人的には使い道が増える >swiftからpython
今まさにその議論メーリスでやってるね swiftはもうダメだな
iOSと並行して開発されている新モバイルOSも謎のスクリプトで開発するらしいし
iPadでビルドできるらしいし let ore: Men
let kanojo: Women
ore.chinko.insert(into: kanojo.manko)
while !ore.itta {
ore.koshifuru()
kanojo.aegu()
} >>577
なにそれ初耳
Swiftと別に汎用言語作るとは思えないから
あるとしてもSiri/人工知能を扱うためのスクリプト言語とか
買収したWorkflow.appにのせるiOS版AppleScriptみたいなものとか
そういう分野特化のスクリプトじゃね なんかrubyもpythonとのバインディングでなんとか機械学習に参入しようとしてるってポッドキャストで昔聞いたな。
python学んだほうが早い Googleの新OS Fuchsiaに対応するブランチが切られたぞ
wktk
https://github.com/google/swift/commit/95179d35c84a7b98081003a6ab8de5f973755ac3
Add Fuchsia OS Support
Adds Fuchsia target support to the compiler and builds the stdlib for
Fuchsia. かなりスレ違いになるんだけど、
linuxカーネルって作り変えなきゃいけないほど問題あるもんなの?
単純にクラック耐性上げるために分けてるだけ? 問題があって作り変えるというよりモバイルデバイス向けにカリカリに特化した新OSを作るって感じじゃないかな >>593
そうなんかな。でもforkして作るって手もあるのに一からってすげーなって 不具合というよりかは
GPL対策とドライバ周辺の保守性向上じゃないかな Swift製って言うと100%Swiftみたいに聞こえるけど、アプリの一部でSwiftを使っててもその判定に入ってると思う。 仕様もABI安定してないうちにSwift移行とかどんな神経してるんだよ。
個人ならまだしもAppleがそれやるのかよ。
その向けのパフォーマンスというかなんというか、Apple政治だな。 アプリやプライベートフレームワークだからABI関係ないし、ドッグフーディングはいい言語にするには絶対必要だ Apple自身が本格的なのひとつは無きゃ自動コンバートがどれだけ実用的なのかわからんし、ひとつとかでなくよりなら自動コンバートがよりより実用的にor破壊的変更はもうない(古い記述も許す)という姿勢の現れだろ
やっとSwift 1.0ってとこだな もう新しい言語とかどうでもいいからアプリを簡単に作れるようにしてくれ。
デザイナー要らずで絵が描けるとか、いいDBつむとか、API/Mapperコードの自動生成とか、ステート実行とか、画面作成はstoryboardとsegueしか利用しちゃいけないとか、
アプリのクラッシュ管理をiTunes connectだけで完全に出来るようにするとか、自動Analyticsしてくれるとか、
コード量を少なくしてくれ。 同じことを実現するのに色々な書き方が出来ないようにしてくれ。 なんで?
色々な書き方が出来た方がいいだろ
Storyboardでしか画面作成できなくするとXcodeでしかアプリ作れなくなるぞ Storyboardの中身はXMLだからXcodeがなくてもなんとかなる 最初期のこのスレに現れたFlasherは全画面に敷いたviewからタッチイベントの座標取って
どのボタンが押されたのか全部if文(100<x<300 and 100<y<150って奴だ)で判定しようとしてたっけな… storyboardってみんな使ってんの?
設定もワケワカランちんだし生産性が上がるとは到底思えないんだが… storyboardはまだしもautolayoutはまじで生産性を下げるから使わないが正解だろ AutoLayoutを使わずにどうやって、サイズの変更やデバイスの回転に対応するんだよ?
コードで書くの?
バカじゃね? >>612
バカはお前だ
コード書けないなら仕事変えたほうがいいぞ
まじで autolayoutはなるべくコードで書かない、なぜならエラーを検出しにくいから。
storyboard、segue、storyboard reference、autolayoutは絶対に使う。
xibの利用は極力避ける。 >>616
AutoLayoutはコードでも書けるだろ
AutoLayoutを使わずに、どうレイアウト調整してんの? >>619
コードでautolayoutとかエアプもいいとこだな
やってみろ気狂うぞ
普通に座標で実装してるよ
protocol作って、デバイスのステートをsubscribeして具象を切り替えるだけ 七面倒臭いことしてんな
Autolayout使えばアニメーションも面倒みてくれるのに
どうせアニメーションとか無視して、カクカク配置してんだろ
何故底まで、Autolayoutを拒否するのか
ひょっとして、Autolayoutを理解できないから?
理解できずに変なことになってパニクったの?
そうなの? マジで? アニメーション…それこそ普通に書けよ…autolayoutの再layout時の、あの気持ち悪い動きそのまま使ってるの?
デモならまだしもプロダクションで、そのままだとしたら微妙だと思うぞ
appleのtutorialやったのとヴェンダーリックのプログラムを受けたので使えはするし、
何をどうすればどうなるのかくらいはわかるが、それを理解してるとは言えないかもしれん。
逆に理解しづらいものなら、いいものじゃないし、変なことになるようなもんなんで積極的に使うのか理由が必要だろ
プログラマならstoryboardもautolayoutも嫌いなやつのほうが多いだろうし、かといってほとんどのデザイナが 途中で送信してもた
殆どのデザイナは使えない。
デモならいいけど、プロダクションで導入してるとしたら、誰の何が向上するという経営判断なのか教えて欲しい。 まぁautolayout+storyboardのほうが楽ちんというカルチャーの会社もありえなくはないか…
でもそうするとIDEは事実上xcode限定か…と思うとよほどのメリットがない限り見送り
最初に否定したのは俺が悪かった
こんなもん宗派なんだから、ただ対立を生んだだけだったわ
すまんかった Xcode最高だろがボケ、無料(と言うかiPhoneユーザーが間接的に払ってくれてるわけで)なんだよ! 意味不明
mac買わないといけない時点でアホみたいに高い Windows機とかここ5年間価格も調べた事がない・・ 開発者ならStoryboardとAutolayoutを99%使ってると思う。 >>627
xcode専用機だから=xcodeの価格なのさ
普段からmacメインとかいう情弱ではないのでね 政治上手なだけのMicrosoftなんかもう潰れればいいのに 安心しろ、マイクロソフトは実質倒産してるから。Appleが買うか買わないなってのが実情。 >>630
そこまでしてなんでiPhoneのアプリつくの?
そこそこ売り上げあるならMacMiniくらいならはした金だし
XCode専用機で何の問題もないだろ
趣味で売れないもん作ってるならWindowsでAndroidだけやっとけって思うわ
情弱って煽りたいだけだろw Mac信者が〜って人って2017年の現在では
「むしろ自分がいまどき珍しいWindows™パソコンなんぞの信者だ」
ってことをなぜか自覚してないよね… 異世界に住んでるんだから仕方ない
ここで言葉を交わせるのは奇跡 ID:G6pL9d5+0 がマジでなんでXcodeで開発しているのかさっぱり。そんなにWindows信奉しているくせに 中学生とかなんだろ
可哀想だし、もうスルーしとこう iOSアプリ開発している=皆リンゴ信者だと思っているところがもうねw いや、だからいやいやでなんでやってるのかと言ってるのだがなあ
確かに>>641の言うとおりかもしれないな。この思考の浅さは 何故iosアプリ開発にxcodeが必須なのか
是非林檎に聞いてくれ なんか聞いたフレーズw
金になってないやん。一仕事の1ヶ月にも満たない金額でアホみたいに高いとか
ほんと思考が浅すぎ。浅すぎてか思考してる? ほんと信者な頭猿すぎて会話ができないな
10万20万が俺にとって高いか安いかなんて話は一切してないんやけど通じなさすぎてもう おまえがなにが嫌いとか金が無くて買えないとか誰も聞いとらんよ。 苦し紛れにしても酷すぎるw>>626をお前がそう思ってないと取らなければならないなんて無理もいいとこだろう。仮にお前はそう思っていないが誰かもわからないのを庇ってって、それはそれでアンチ脳が酷いと思うぞ
もういい加減脊髄反射やめな?無脳AIを相手してる気分 >>649は>>647へ
>>648
割り込まないでww
まあ、なんか誰ともわからん思いを同じにしているであろう人がいるらしい。代弁しているつもりらしい >>649
ほんと脳あるの?
>>625のxcodeの話しか最初からしてないんだが
開発するのに専用ハード買わせるOSなんて他にありますかー Appleってジョブズがゲイツに土下座してMSが資金援助するまで潰れる寸前だったのに
何でApple信者はMSに感謝するどころか敵意向けてるの? >>651
自分で言ったことがなかったことにできるってすごいな。自分でさらけ出したことをなかったことにできるってすごいな
矛盾がどうにもできなくなって矮小化しただけだろ、それ。自称脳が俺よりあるハズならわかることだと思うけど
まあ、ある意味興味の部分がわかったし、これ以上やっても自分が見えなさそう
エアプ開発者と理解した。金になってて機材分はおろかそれ以上の利益になってたらそんな文句は頭にも浮かばないだろに。金になるためと言い金になってると言い張ってるのにソレだもん ここ言語スレだからグダグダするなら雑談スレでやれよ AppleがSwiftやめる説は
AppleがReactiveプラットフォームを出すから
ViewControllerも無くなり全てがView
ライフサイクルが必要ならばアドイン すまんな
信者さんをカッチーンさせてしまったようだ >>645 金になるならグダグダ言うなよ。金になってないからグダグダ言ってるとしか聞こえないな。
>>651 OSだけ売ってる会社じゃないんだから仕方ないだろうが。 少しは大人の事情というものを解れや。
お前がもう少しすれた大人なら抜道を見つけられるだろうが中坊には無理だな。 >>651 OSも無料、XcodeもSwiftも無料。こんな太っ腹な会社がありますか?
Swiftもオープンソースになってるしな。 金のないお前でもスマホ/WebでSwiftを動かす事くらいはできる世の中だぞ。 なんか伸びてるから動きあったのかと思ったら程度の低い罵り合いだったでござる。 Mac板にもiOSアプリを出すために仕方なくiMac買わされたとか言いつつ
Mac板の多くのスレでコピペ荒らし行為してるキモイ奴がいる
そんなにAppleやMacが嫌ならiOSアプリなんか作るなよって思うのだが… >>659
Macも無料にしてくれたら太っ腹だと思うw Macも開発者にだけは半額で売ればいいのにね
こっちはAppleのアプリ作成に貢献してんだから その気になればAppleだけでアプリ作れるだろ
他の事業の方が採算性がいいからやってないだけで >>666
金ないなら有料アプリとか広告付きアプリ出せばいいだけやん
こっちからすればAppleにマーケット作ってもらったり、料金回収代行してもらったりしてるわけだ
貢献してやってるってのは一方的すぎると思うが 課金アプリならまだしも、広告つけただけの無料アプリとかAppleにほとんどメリットないしな >>666 Appleも目をつぶってるじゃん。 お前に力がないだけの話だよ。 SwiftやObjective-Cから開発者が離れつつある?
http://www.itmedia.co.jp/pcuser/articles/1711/29/news089.html
スマートフォンのアプリで成功したいならば、iOS向けアプリを作るためのSwiftやObjective-Cは開発者にとって重要な言語と言えるが、米InfoWorldはこうした状況に「異変が起きつつあるのではないか」と指摘している。
開発言語の人気度を指標化した「TIOBE Index」では、最近になってSwiftとObjective-Cのランキングが急落しており、「開発者離れが起きているのではないか」というのだ。
TIOBE Indexは複数の検索エンジンや関連ページの利用状況などを勘案し、月ごとに開発言語のランキングを発表している。最新の2017年11月版によれば、Swiftは20位、Objective-Cは19位と、いずれも前年同月から8位のランクダウンになっている。 Swift君、年上のObjective-Cお姉さんに抜かれてるじゃん >>672
過去の予想の的中率はどうなの?
ランキングの指標の実績見ないとなんとも言えんな。 むしろこういうランクって人の動向をコントロールする道具なような気が Swiftが上位の時はさも絶対だという言いっぷりなくせに、逆転すると統計の仕方によって変わるとか言い出す
分かりやすすぎだろ XcodeでSingle View Appを選んでプロジェクトを作ったんですけど、ブログラムのスタートポイントは何処にあるんですかね?
main関数とかないんでしょうか?
AppDelegateのインスタンスは何処で作られてるんでしょうか? main() は main.m にあるやろ。AppDelegateのインスタンスもそこで作られてるやろ ああ、実際に作られてるのは UIApplicationMain内 だな。ここで指定しないでメインリソースで指定/内包して作るという方法もあるけど >>681-682
main.mっていうのは何処にあるんでしょうか? プロジェクト内を探してみても見つかりませんでした
UIApplicationMainっていうのは、そのmain.mに書かれているんでしょうか? main.mはobjective-cだよ
@UIApplicationMain の書いてあるオブジェクトを
呼び出す仕様かね
MacOSで作るとmain.swift固定なんかな ああ、Swiftか。main()なんて言うからw
@UIApplicationMainってソースにあるし、Swift UIApplicationMainとググったらすぐにあるやん
https://ez-net.jp/article/BC/vWrNTeBO/85hmtcwh9W3Y/ >>684
なるほど、main.swiftでなきゃだね。iOSでもかな/でもそのよう 言語仕様と実装は別だから新言語の仕様みて
「ああ、こういう仕組みなのね、完全にわかったわ」って
なにか試そうとした時に「…でどこがスタートでどう書くの推奨だ?」って
よくなるわな。 いつかXCODEでjavaも使えるようになりませんかね?
別にそれによって、Appleも損はしないと思うんですが… xcodeを積極的に使いたい奇特な人がいるなんて… Xcodeは使える
Java IDEの遅さといったらもう やはりXCODEが他言語に対応しただけじゃダメなんですか?
iOSそのものが対応しなきゃいけないのかな 解消したコンパイルエラーが残ったままになるクソバグから卒業してから出直しておいで xcodeでswiftのリファクタリングできるようになった? >>688
Xcodeで普通にJava(使えたPure Javaも可)のを使えなくしたので金輪際Javaを使えるようにはならんだろ ほげぇぇ
わざわざ使えなくしたのか
少しでもユーザー多い方が良いのに…
でも他言語に対応させると、速度か何かが犠牲になるのかね java使えるならiOSアプリ作ってみたいのになぁ
swiftとか私の頭には難し過ぎる
HELLO WORLD出すだけで10年くらいかかりそう わざわざってか、メンテナンスめんどくさい/もうする気ないから無くした/削ったただな
JavaでiOSアプリか。そんなつもりだったのか。それは無理無理
macOSアプリだってちょっと変な感じだし。それなりにmacOS UIパーツ使ってるがやっぱり触りごごちがエセ感ありの
Javaもあんま使いこなせてないっぽくにしか見えないぞ。その謙虚すぎ(?)は。Swiftやればだな。このスレ的には。でなきゃ全然関係ない話題だしw JavaじゃなくてJavaScriptでiOSアプリだったらありえるんじゃない?
ReactNativeとか いや、CoreFoundationのソースを持って来てるだけでSwiftは関係ない
CoreFoundationはC実装で、Swift関係なく前からオープンソース
https://opensource.apple.com/release/macos-1013.html
10.13で使われてるCoreFoundationはここで公開されると思うけどcoming soonって書いてるからまだなんかな
たまたまswift-corelibs-foundationの方で先に公開された形になったから、こういう風に参照されただけだろう
ちなみにmacOSやiOSで現に使われてるFoundationはクローズドのObjC実装のもののはずで、Swiftオプソ化とLinux対応のために公開されてるこのSwift実装のFoundationとは中身は別物のはず いま見てみたらCoreFoundationのソース10.10.5までは出てるのに、11.0以降ずっとcoming soonになってるのな
https://opensource.apple.com/release/os-x-10105.html let values = ["small":30 "middle":50]
var result = 0
for( value in values{
result += value.1
}
このvalue.1 ってどういう意味? サンプルコードで、インスタンスの生成を
let a = Hoge(fuga)
と書いてるのと
let a = Hoge.init(fuga)
って書いてるのを見かけるんだけど
どっちが推奨なんだろう?
Xcodeの補完は後者フレンドリーだけど >>715
普通に考えたら前者なんだろうけど、Appleのサンプルでさえ後者で書いてるのがあるし、Xcodeの補完もinitってしないと出てこないし、
もしかしてなんか変わったのかなと思って isEmpty とString?
is文と、オプショナルの違いってなんですか? swiftのextensionとか規則の詳しい説明日本語版がなさすぎる
なんで日本語情報少ないんだ
やってるやつすくないのか >>723
英語わからない
google先生で聞いても断片的にしか検索されないのん
extensionを検索したら出てくるけど他の構造体とかでてこないん
>>724
英語版が多いと日本人がやりやすくなるのかそうなのか 初心者ですがよろしく。
iOS版のplay groundsでどこまでコーディング出来るのでしょうか。
Swiftコーディングの練習問題集などと言ったものは存在しますか?
今仕事が忙しくて、iOS(iPad Pro)で学修レベルしか出来ません。
ひと段落ついたら本格的にMacBookのX Codeで開発始めるつもりです。
よろしくお願いいたします。
経歴はJavaとその関連を半年間集中的に学校で教わって
JAVA2級合格したというレベルです。仕事はほぼ関係ない仕事です。 >>725
まだ、小学生なのかな?
義務教育で十分だと思うが。 Swiftクラス管理の部分が意味不明だった
むずい 言語そのものだけでなく、背景となる概念も一緒に勉強したらいいよ
オブジェクト指向とか関数型プログラミングとか >>688
昔々の事じゃ。Java-Cocoaというものがあってな。 ここってスズキSwiftのリンク貼ろうとすると弾かれんのな swiftというかiosのことかもしれないけど
非同期中はメインスレッドのタッチイベントって受け付けないのでしょうか?
非同期の処理が終わるまでフリーズ状態です。
表示は変更されるます。
そういう仕様なのでしょうか? iOSデバイス、特にiPad Proが最も完成洗練されたコンピュータの形態だとすれば
その開発言語swiftが最も将来性あると断言できるんじゃないでしょうか。 >>742
まだ断言できるほどではないけとかなりいい線行ってると思うよ。
最大の失敗は初期の段階で Mac でしか使えないようにしてしまったことじゃないかな。
これで大幅に出遅れたと思う。もしフリーで使えるようにしてあったらと思うと残念でならない。 http://www.benfrederickson.com/ranking-programming-languages-by-github-users/
SwiftはObjCとともに人気を失いつつある
Go/Rust/TypeScript/Kotlinらがまだまだ勢いを保ってるのとは対照的
iOS/macOS開発一辺倒の現状から大きく利用領域を広げられなければ、ObjCと同じようにマイナー言語を脱することはできなさそう 俺もAndroidに乗り換えた瞬間に興味なくしたわ。
今はTypeScript + React-nativeに注目してる 超絶初心者が失礼するぞ
今日までXcodeとSwiftの違いってなんだ?って思ってたんだけど、Swiftはプログラム言語でXcodeはIDEなのか
ちなみにXcodeでSwiftを書いて実行してっていう一連の作業ができるんだよね? できます
てか、まずはHello Worldを試してみろよw アイポンアプリって自作して勝手に配ることできるの?
App Store使わずに配布できる? 少人数の知人に配るとかならできる
色々制限もあるが
iOS アプリ 配布
とかでぐぐれ >>755
えええ、そうなん?
ググるわありがとう。 >>757
ググったけど、つまりアポーに金払えってことか。 何をしたいのかがさっぱり分からんけど、
不特定多数の人に配布したいのであればAppleに金払うしかないよ
そうでないのならAppleに金払わなくてもいい方法はある やっぱり文句言ったww言うと思ってたけど、まさかなとも むしろ自分以外の人間(少数とはいえ)に配布できるっていうことが驚きだわ 本来テストのためにじゃね。無きゃテスト困るでしょ
無料の方法はソース丸ごとしか思い浮かばんな テストフライトとかかなり昔からあったけど使ったことないの?
っておれもその辺かなりご無沙汰でちらっと調べてみたら、なんとAppleが買収してたんだね
ちょっとビックリしたわ テストフライトは当然デベロッパープログラムを買った人のみ。その前はアドホックで、これも当然デベロッパープログラムのを買った人のみ
無料は個人でもアレが30日間だけじゃなっかったかなあ。ああ、テストフライトもアドホックもアレは1年間だな。アップデートは当然手動 えーとつまり?
金払わないと少数の友人にそのバージョンのアプリを配布することもできないってこと?
さすがに自分の端末にのみ入れることはできるでしょ? Swift2のUdemy動画レクチャー今頃見てるんだけど、4なってだいぶ変わってるねー。
++無くなって+=1だけなってるし。
180くらいあるレクチャーも40くらいこなしたし、色々自作アプリ作って
iPadで活用したいです。 >>699 IBM swift sandbox なら HELLO WORLD は今すぐにでも出せるよ。
https://swift.sandbox.bluemix.net/#/repl
下の▽ボタンを押せば、実行される。
sandbox はIntel linux上で動いてるな。
WEB アプリも開発出来るようになりつつあるようだけどだれかやってる? 他にはあまり見ないネイティブコードななのにあまり流行らないね。KItura出た当時はそれなりに話題になりのだが、下火かな
ネイティブコードなだけにクラッシュに弱いとかかな あと、別にそのIBM swift sandboxでなくてもコマンドラインですぐに実行できるよ。PerlとかPythonとかと同じような感覚で。Swift環境入れればだけどLinuxでも >>770
うん、いっぱいある。調べれば分かるだろうが、それぞれのWeb上での取り扱いが下火ってこと
てか、今それ見て知って「WEB アプリも開発出来るようになりつつ」とか言ってるだけでしょ?WEB アプリも開発を今知ったのかよレベルの話だよ。あくまでも現状はちょっと変わった人wが使うってとこかな 【2017年版】Swiftフレームワーク7選比較と今後の需要
https://furien.jp/columns/189/ それはSwift前提で開発するならの話だろ?よく読んでみ。あんたが思っているのとは違うから
てか、なんかいろいろ「今」調べてるっぽいけど、それでなにか短絡的に鵜呑みで結論出してるのなら、いろいろアレだな Web開発でなら/でも破壊的仕様変更は受け入れられないか。それが大きいか
まあ、そもそも今まで他でWeb開発してたのがSwiftでWeb開発という選択にはあまりならんというのが最大だと思うけど SwiftでWeb開発するぐらいならPythonでするわ そもそもappleに言語開発は無理だったんじゃないかな。素直にobjcに戻ってシンタックスシュガー追加で生きていくべき。
個人的にはobjcにはc言語との連携が容易という最大の武器があると思ってる。 Web開発ってホームページ作ることしか知らないんだけど
他にもなんかあんの?
PythonだとかSwiftで〜 とはおったまげたなあ >>778
俺はiOSアプリ→PostgreSQLに接続
って感じで通信してるから、データを吐き出したり入力する為に使ってるよ。 このスレ言語とプラグインごっちゃになってるけどいいのか? 俺はswift4使ってるけどいい感じだよ
MVCモデルの組み立てがしやすいね XIBの使い方がキモだと思うよ
どこにどうやってXIBインスタンスを置くのかで
後々のカスタマイズとかのしやすさが変わってくるよね Swift言語を使ったフレームワークの話だからな。そのフレームワークがメジャーになればSwift言語の普及度も上がるだろうし、Swift言語でどう書くとかの話にもなるだろ
てか、単なる雑談してしかなく、雑談しかネタがないのだろからどうでもいいんじゃね swiftのUIKitの中見てないけど
collectionViewあたりがどうなってるのか知りたいよ >>783,784
全然Swift言語と直接関係ないやんw
俺に興味ないフレームワークの話すんなってことかよ >>787さんはswift開発でxibあまり使わない?
モレ割と使っていくタイプだからswiftと密接だとおもてたわん SwiftというかCocoa/Cocoa Touchの仕組み
別にSwiftでなくてもObjective-Cはもちろん、AppleScriptやJavascript(JXA)でもの話だな サーバーサイドもうちょい頑張ってほしい。
IBM奮闘してるけど。 swift 1.0でサーバ(Linux)でSwiftが動くようになって幾数年、未だに使われないサーバサイドSwiftよ ところでMacではサーバプログラムでswift使われることないの?
Macをサーバとして使うという用途自体がほとんどないのかも知れないが、中身はUNIXでソフトは揃ってるからサーバにも簡単にできるよね。 appleにサーバは何使ってますか?って聞いてみたいね。
黒いゴミ箱がならんでいるのか、骨董品になったminiが並んでいるのか。
製品にまったく継続性がないからサーバ用途なんて無理 ラックの中に mac mini が隙間なくビッシリ詰め込まれている >>796
マイクロソフトのazureが使われてると聞いたことがある ググったら妄想記事しか出ないけど。その2011年のはAzureと並列にAWSも上げてるけどAzureだけってのは別の話なのかな? >>796
netcraftで見るとLinuxっぽいかな。実際どうなのかわからんけど、developerはwww/supportと違ってAkamaiじゃないのにってとこから AWSもAzureもGCPも使ってる
今でも求人にIBM/HP/SunあたりのUnixスキルを求めてるからLinux以外も使ってるやろね
ハードはHPやDELL、情報系はTeradataやHadoop その断定調なのが胡散臭いw
どこで知ったの?まさか思うという記事じゃないよねえ appleだけ独自フレームワークってわけもいかんしなんだかんだいって
PHPとか使ってるんじゃないの? PHPはさすがにないだろww
WebアプリはWebObjectsだったがさすがにもう入れ替えただろうな。入れ替えでPHPなんてありえないだろ、なんでPHPやねん
メールサーバー (今でいうiCloudの)は昔からOracle Communications Messaging Server(Sun Java System Messaging Server)だな PHP使ってないとは思うが、別に使ってもいいと思うけどね あー、あれかな、あくまでもサンプルで今はそんなの返さないとかかな?WebObjectsディスコンにしたのなんでやねんな今更感がありありなので。内製用で小規模メンテし続けてるとかあるのかもかもしれないが
>>806
んー、「使ってないとは思う」と同じ意味でしかないよ PHP7はパフォーマンスの観点からも十分選択肢に入るだろ クリックしたらなんか動いている/生きているようだなあ
本当にWebObjectsなのかはなんかわけわからんがw、WebObjectsならappleだけ独自フレームワークってわけもいかんってこともないだろう、そゆとこですAppleはw
もちろん、仮に本当に上のURLのとこが今でもWebObjectsでやってるとしても、すべてのWebアプリ(iTunes Storeの他のとこも)がWebObjectsだとは言わん/言えんけど ああ、Legacy (WebObjects) Links に書いてあった。納得 CMSとBlogってコード(PHP)をガリガリ書くもんじゃないんじゃないの。まあ、そういう意味で「というかWordPress」って言ってもいるんだろうけど
なので、全然残念じゃないもーん(まあ、ちょっとは ちっ ってのはあるけどw)
見るなら Bootstrap の方だと思うけど、これってどういう判断なんだ?? www/support/developer/appleidなんぞホスト(場合よってはページで)によってマチマチだな。サーバーサイドJavascriptなんてあったり
おもろツール教えてくれてありがとう。このツールの情報は全然信じていないけどなww まさかのDartの時代きた
https://flutter.io/
Swiftオワタ おれはreact-native推しだな。なんせwebも巻き込んでコードの共通化できるし。
dartは言語として魅力があればだなー。 スマホ・タブレット向け?
PC MAC LINUXにはあまり関係ない? >>820
react-nativeならデスクトップも開発中。
facebookで実際に使ってて実績もバッチリ。
こっち来いよ func hoge<T : StringProtocol>(arg: T) {}
func hoge<T>(arg: T) where T : StringProtocol {}
これどう違うんすか >>822
同じ
https://github.com/apple/swift-evolution/blob/master/proposals/0081-move-where-expression.md
の It was also proposed 〜 のところにあるように
where句の整備に伴って上の構文の削除も提案されたけど
上の構文で済む単純な定義のものを複雑にしたくないから残された >>823
同じなんか〜い
ありがとう!ございました! 定義したクラスの中でそのクラスを使いたいと思ったのですが、エラーが発生します。
Javaとかだと特に問題がなかったと思いますが、Swiftの場合どうすればいいのでしょうか?
class A{
var aa : A <-これができない
} >>825
classなら再帰的な定義もできると思うが
optionalにしないとinitできないよね? >>825
それだと、aaの初期化ができないから、
var aa: A!
ってやればいいんじゃね? >>827
それだとそのクラス使う時、必ず実行時エラーになっちゃう気がする let bb: A? = nil
instanceA.aa = bb
でもエラーにならないのは無問題ではないような
var aa : A だと、イニシャライザでちゃんとしたインスタンスを入れればいいだけというのがSwiftだが、良く考えたら絶対nilにしかならない場合があるからOptionalにするしかないのか >>829
aaがnilかどうかを別の変数で管理して毎回確認するって話なのかな?
そうでもしないと再帰処理できないし、optionalを使わない理由が分からない 実務的にというか、本来 aa: A でいい、プログラミング上/アプリ上nilな場合が無いような場合のことでしょ。んな場合はoptionalはめんどくさいだけだし
最初に作るインスタンスはどやったって(まあ、自分自身を突っ込めば回避できるだるけどw、それもできなさげ)nilにしかならないし、わざわざoptionalだのあることを無視したあくまでも(個人的な)実務的な手法な感じ >>831
A!はoptionalやん
それ自体でnil判定出来るから別の変数も要らない
rootNodeとかならselfになるだろうし
viewDidLoadみたいなセットアップ後もnilが有り得るかどうかで決めたらいい そっかぁ
別の変数で管理云々はちょっと勘違いしてたわ
あと俺がoptionalって言ったのは通常のoptionalのことで
implicitly unwrapped optionalじゃなくってって意味
一般的な再帰構造なら基底ケースでnilになるだろうから
それをimplicitly unwrappedで定義するのはすごく違和感があるんだけど
そういうやり方もあるってことね まぁ用途によるわな
線形リストなら末端はnilやろうけど循環リストならnilはないし >>825
元の定義がstructだった。
Classに変更したら解決しました。 https://github.com/apple/swift-nio
Event-driven network application framework for high performance protocol servers & clients, non-blocking. let arr = [0, 1, 2, 3, 4, 5]
let sub = arr[3...]
sub[0] // Fatal error: Index out of bounds
このSliceのインデックスが元の配列のインデックスのままになる仕様って誰得なの? >>840
考え方的には別配列として切り出すのでなくビューなんだってさ(copy on writeだけど)
String.CharacterView.IndexみたいにIntじゃないIndexも多いから
コレクション全般に対しての考え方として
Sequence的に扱ったり、startIndexやindex(after:)などのIndex用メソッドに慣れて行ったほうがいい viewならますます0から始まってほしいところだが Objective-c全く触ったことないんだけどSwiftの勉強はじめても問題ない? プログラミングはじめたばかりの初心者ですけど質問してもいいですか?
Swiftやってます 過疎って返ってくるのが遅そうなので勝手に質問します
var m:Int = 0
do {"index:" + String(m)} while 10 > m++
で得られる答えがサイトではindex:0~index9だと書いてあったのですが理解ができません。
私はmが9であったらindex9となって、while10>m++の条件は++がmの後につくので9で比較されるのでtrueになり繰り返しが続行されると考えました。
なのでもう一度処理が実行されてindex:10まで出るのではないでしょうか。
慣れてないのでトンチンカンなこと言ってるかもしれませんがよろしくお願いします。 >>848
貴方の言う通りですけど、
インクリメント演算子(++)は、Swift3から使えなくなったのでそういう書き方はできなくなりました。 >>848
>index:10まで
その理解で合ってる
それと
・printもreturnも無いので答えという意味では何も無い
・do-while文は廃止された
・「++」(インクリメント)構文は廃止された
そのサイトを読むのは止めて
Swift4または2017年9月19日以降に書かれたもので学習した方がいいよ >>850
do-while は廃止ではなく、repeat-while に変更になりました。 >>849
>>850
ええまじか…
では++nのところはn+=1とかにすればいいのでしょうか
サイトは別のサイト探そうと思います 入門書の索引で do while の所探してページ開いてみたら repeat while のページになっていた。w
変化が激しいと入門書書く側も大変だな。 >>854
多分思想がなくて振り回されてる。
もっと大御所がどっと構えて考え抜いた言語仕様にすればいいのに
goはそんな感じ Swiftで書きたいけど結局React Nativeになっちゃう オープンにしないでもっとクローズドで熟成させた方が良かったかもな xcodeがiPad proで動くようになってからが本番な気がする iPadのplaygroundsでもフレームワークインポートしていろいろなことできるので
コーディングする勉強にはもってこいですね。 さっさと公式にWebAssembly対応を謳うべき
出遅れる iOSしか対応してないから。
かつ、短期間の間に破壊的変更が多すぎる。
ちなみにもうxcodeでリファクタリングは出来るようになったんだろうな?
まだ出来てないなら流石にまずいぞ >>864
macOSとLinuxも
Linuxでのといったら、Kituraあたりぐらいかもだが。メジャーなとこがやってる。だがマイナーだけど >>862
goは対応間近。llvmに頼らずにコード生成出来るようになっている模様。 >>865
そっかーlinuxに対応してたね。macosもか。
linuxに対応してるならciはlinuxで動かせる? >>864
swiftのリファクタリングも9でしれっと出来るようになってたw >>867
ciってなんだっけ?
CLIのこと?コマンドは普通に当然あるね。swiftでインタラクティブ(?)なとか。というか、コマンドだけじゃないのかな。Kituraもおすすめ開発環境はXcodeでmacOSでだったような気がしないでもない コマンドインターフェースじゃね?
REPLのことを言ってる気もしないでもないが continuous integrationの略。
コマンドがどうの言ってる奴は分からないならまだしもでまかせを言うな >>871
なるほど、そんなんあったのか。知らんwどうも勉強になった
だが、それだとちょっと文的に変かな。知っててかな?
>>872
それっぽいんだけど、コマンドでええやーん、もしくは正しく(?)なCLIと。なら悩まないのにw REPL?また謎なw >>873
えーと... >>871 えーと... まあ、おつかれです >>872
ああ、REPLってそういうことか。REPLにciと表せられるナニかあるのかと思った
そのREPLななが swift(コマンド)でインタラクティブ(?) ね。まあわかってるだろうけど、いちおう >>871
おお...
https://developer.apple.com/jp/documentation/ToolsLanguages/Conceptual/Xcode_Overview/ContinuousIntegrationTesting.html#//apple_ref/doc/uid/TP40010215-CH64-SW1
なんてあったりするのね。だったら文的におかしくはないな
だが、
>Xcodeは継続的インテグレーションを実現するために、Xcodeサービスを活用しています。これはOS X Serverに付属するもので、
> これはOS X Serverに付属するもので
> これはOS X Serverに付属するもので
(しつこいw) macOSにすら入ってないのに、ある意味単なるSwiftだけなLinuxに入ってるとは思えないなあ
まあ俺が知らないだけだが、この世界は広いなあw ciをCLIと読み替えるドヤ顔バカがいる世の中の方がよほど広く感じるわw なんかよほど気に食わなかったことがあったらしいな。そんなとこに食いつくとは 知らなきゃ別に今知ればいいし知らないやつを馬鹿にしても生産的じゃ無いよね。
ちなみに答えが無いってことはciをやるには未だにmacがいるってこと?
react-nativeの方が便利だな。これはもう Swiftというか何らかの言語がというのとは関係なくね?
コンパイラ等の基本的な開発環境とは別のことだろう。やるとしたらEclipse周りな人々とか、その辺りのOSS界隈だろうな >>883
なんでMacがなきゃCIが出来ないと思ったの? バカじゃないの? CIはXcodeで知りそれしか知らないその方法だけだと思ってるだけとか コマンドwwインターフェースwwwだと思ってるくらいだからなwwwww なんか必死さが滲み出てるな
そんなこと言うのは、ciはxcodeでのciだけだと思ってたと言ってるようなもんだろう くやしいのうw
5chでよかったなww
リアルで恥かかずに済んでwwww ____
/ \ /\ キリッ
. / (ー) (ー)\ < ciやるにはMacが必要
/ ⌒(__人__)⌒ \
| |r┬-| |
\ `ー’´ /
ノ \
/´ ヽ
| l \
ヽ -一””””~~``’ー–、 -一”””’ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ <だっておwww
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / //
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー’´ ヽ / /
| | l||l 从人 l||l l||l 从人 l||l バンバン
ヽ -一””””~~``’ー–、 -一”””’ー-、
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) いまどきMacじゃないやつは人じゃないというか
ただの犯罪者予備軍だしな。
サイバー犯罪で捕まって「いつも暗い部屋でパソコンカタカタやってて
いつかはこうなると思ってました」と証言される存在。 いまどきMac持ってるやつは人じゃないというか
ただの犯罪者予備軍だしな。
サイバー犯罪で捕まって「いつも暗い部屋でパソコンカタカタやってて
いつかはこうなると思ってました」と証言される存在。 プログラマなの?ホントに
Swiftやってるやつはこんなヤツらって思われるから止めてw Mac持っててMacメインじゃない俺を2重にディスるのはやめろ 汎用エディタにしては、だろ。
pythonならpycharmには敵わないし、
swiftならxcodeには敵わない。 初心者です
Armになったら、Switのコード大幅に変わるの? macのcpuがarmになったらって聞いてる?
全部uikitベースになったりしてな すでにARM/Intelと違うCPUで(ほぼ)同じなんだからな インラインアセンブラが使えるなら変わっていただろうな インラインアセンブラはC言語に組み込んだ反則技みたいなものなので他の言語は是非とも実現しないでおいて欲しい。 MacのCPUが全部ARMになるとまずかありえんし、アセンブラ使えんし、
そんなこと考えるだけ不毛 OSというかファイルシステムに仕掛けあってMac/iOSは
複数のバイナリ実行ファイルをパッケージの中の別ディレクトリで持てるからなぁ
PPC/intel時代とか32bit/64bitバイナリとか。 パッケージの中の別ディレクトリじゃないよ。ひとつの実行ファイルの中で。実行ファイルに限らずFrameworkなどなども。Mach-Oっつうて。より古いのもディレクトリで分けではないな インラインアセンブラはまれに触る事があった。Linuxからの移植位なのでレジスタ退避の違い位しか分からない。
当時はgcc拡張で書いてた記憶があるけど、今clangだとどう書くんだろう? Swiftでのc配列取り扱いについて教えてください。
CoreaudioにAudioChannelLayoutというStructがありますが
これはcの可変長配列AudioChannelDescriptionを含む定義になっています。
SwiftではStructは値型なのですが、Structが持つ配列が
(AudioChannelDescription)となっていて、単一値のtuppleとして
importされており、一つ目の値しかコピーされないのではないか、
可変長structとして扱えていないのではないかとかんがえました。
swiftにおけるc配列のstructはどの様に扱われているのでしょうか。
Data型なりNSData型なりでbacking storeを確保して扱うのが
安全でしょうか? 単一値って書き間違いかと思うが、内包する要素が単一型のTuple=ある型の可変配列でしょ。それでうまくCの可変StructをSwiftにマップ/ブリッジされていると思うけど
初期化/作成は、
init(mChannelLayoutTag: AudioChannelLayoutTag, mChannelBitmap: AudioChannelBitmap, mNumberChannelDescriptions: UInt32, mChannelDescriptions: (AudioChannelDescription))
で、作成可能のようだけど。Cだと自分で必要バイト数計算してのallocしてのをこの中でやってるでしょ。コピーもこれ使えかな 定義見たけど AudioChannelDescription[1] が自動変換された結果でしょ
タプルは普通に固定サイズ
allocするサイズが可変だからinitのタイミングじゃ遅い
NSData や UnsafeMutablePointer<UInt8>.allocate で確保することになるから
値型として扱いたいならラッパーを探すか書くかしないと駄目 やはりそうですよね。
仕方ないのでData型で置き換えて扱う様にします。
CoreAudioはこの手の可変長配列を含むStructがあって扱いが難しいです。 >>918
Dataでもいいけどメンバにアクセスするのが面倒になるかもよ
コピーの面倒を見てくれる代わりにアクセスがクロージャ経由になるから >>915
Swiftはwithout CなんだからC配列とかどうでもいいんじゃないの?
C配列使えるObjective-Cなら何も問題はなかったわけだ
それをわざわざSwiftとかいうわけわからん言語導入するからそういう話が出てくる
韓国が日本にやってるような絡み方すんなよもう Swiftは自分でC要素排除したんだから、もうCに頼るなCに絡むなまじで ちょっと高度な話すぎて困惑してる、もう一度わかりやすい展開で書き直して欲しいくらい >915です。
じぶんの理解ですが、簡単に言うと、
・SwiftはC構造体をStructとして扱う
・SwiftはC配列をタプルとして扱う
・SwiftはStructを値型として扱う
・C構造体にC配列ポインタではなくC配列自体が含まれる場合には、SwiftでStructとしてコピーした際に固定長Structとしてコピーされ、破壊されてしまう
・なので、この手の構造体をSwiftで扱う場合には、ポインタ+別バッファの組み合わせが必要
ソース晒しておきます。
ttps://github.com/MyCometG3/cutter2/blob/master/cutter2/LayoutConverter.swift >>922
https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10.8.sdk/System/Library/Frameworks/CoreAudio.framework/Versions/A/Headers/CoreAudioTypes.h#L866
> mChannelDescriptions[1]; // this is a variable length array
ややこしくなるのはこれのせい
structの定義サイズからはみ出したメモリ領域も使いますっていうハック的なやり方で
sizeof(構造体)と実際に確保しないといけないメモリサイズが異なる
低レベルAPIでは割とある 君たちを雇うならどれくらい払えば良いんだろう。
勉強になるわー SCNHittestの逆の事ってどうやったら出来ますかね……座標が画面のどこに出てるかを出したいんですけど
UnityのWorldToScreenPointと同じ動作です よく知らんけどprojectPointとunprojectPointで相互変換出来るんじゃね 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
S91U5 今のところAppleどころかGoogleもMicrosoftも誰も勝ってなくない?
言語の評価が出るのは生まれて15年後ぐらいじゃないか >>936
マイクロソフトは圧勝でしょう。GOは将来性ない Windowsなんて第三世界のドキュメンタリーでしか見ないなぁ どこの星にお住まいですか?地球ではシェア9割ですが。 クリエイター界かな。
Macを使っているクリエイティビティが必要な界隈。
マジで見かけないんで本当にWindowsなんか誰がどこで使ってるのか謎。
事務所とかの黒っぽいノートパソコンに入ってるらしい
あとマクドナルドで初老の人がマウス繋いで使ってるのはみた。 >>940
駅構内の電光掲示板や切符販売機、知らないだけで様々なところに入ってるよ
無知って凄いね >>940
MacでWindowsが動いてるの見たことあるよ >>940
確かにそうかもな。でもクリエイターでXcode使ってるやつは銀河系にいそうもないが マカーってなんですぐ嘘つくの?
嘘つき糞マカーwwwww
https://www.ameet.jp/digital-imaging/2094/
前回の記事から5年経ち、映像制作環境の選択肢はかなり変化した。
Unity ※2 やUE4 ※3 に代表されるゲームエンジンによるリッチなレンダリング、Houdini ※4 やBlender ※5 といった3Dツールの急速なアップデート、クリエイティブコーダー ※6 のMac離れなど ※7 、様々なことが起こった。
※7 主にラップトップ機に搭載されたGPUの性能が低いことが原因。
多くのクリエイターがゲーミングPCなどのwin機へと移行。 GPUの性能は低いまま、最後の希望WWDCでも何も発表されませんでしたwwwww
WWDCで新しいMacが発表されなかったので、ダークモードになっている
https://japan.cnet.com/article/35120465/ PagingMenuControllerで、1ダブ〜2タブ目が表示されません。viewDidLoad ではダメで、viewWillAppearでaddSubvirwすると表示されたり、クリックのactionが追加されなかったりします。
また、複数回同じクラスを追加すると、同じインスタンスが呼び出されるようになってしまったのですが誰か原因分かりますか? そういう風に書いたからだろ
それだけで分かる奴いたら超能力者だわ
その手の不具合はブレイクポイント張りまくって、
ログも出しまくって地道に調べたらだいたい分かるでしょ ド素人です
オプショナルってなんで必要なの?
nilが、あるかないかでしょ コンパイラに教えてもらわないとnilの可能性を意識してコードを書けない奴が多いからバグを減らすために必要って事じゃないの 明示的nil判定を書かせる事で、コンパイラが
最適化を進める事が出来るのが目的だと思う。 コンパイラの最適化にoptionalが必要か?
人間のnilチェック漏れを防ぐ機能にしかなってないと思うが みんなRxSwift使ってるの?
難しすぎて理解できない 最近Swift始めた新人ですが教えてください。
UIControlEventsの定義で構造体なのに { get } という記述があるのが意味不なんですが、
これはどういう意味でしょうか?
もしプロトコル定義だったら「読み取りできるタイププロパティtouchDownを定義しろ」
という意味になると思うんですが、構造体なら「case touchDown」という記述になるじゃないでしょうか??
public struct UIControlEvents : OptionSet {
public static var touchDown: UIControlEvents { get }
略 変数がnilをとりうるかどうかを分かりやすくするためだろ
宣言を見るだけで、この変数はnilを取りえないと分かる恩恵は意外と大きい なんとなくわかってきました。
まずcaseを使ってないのは、ビットマスクだからで
{ get }なのは読み取り専用にしたいから、
structでなぜ{ get }みたいな記述が出来るのかは、
NS_OPTIONSマクロがどっかに定義されていてそれが影響してるって感じですよね? 1年程 0から勉強して来たが 後「 関数オブジェクト、型のキャスト、クロージャ」この辺が意味不明だw
俺が理解力無いだけなんだが
やっぱりどんなアプリ作り関係なしにこの辺も最低でも理解するべき所ですよね? 関数オブジェクトとクロージャはjavascriptやれば誰でも1日で理解できると思う。型のキャストは無理だけど(変数に型無いし) キャストとクロージャは理解しないと厳しそう
キャストは概念的には何も難しくないだろう >>967-968
そうですか Javaとかも調べて見ます。
なんか関数を引数にしたり返り値にしたりされると理解不能になったりしてw
どうもコメント有難うございます。 javaとJavaScript は別物だぞ
Javaって関数が第一級オブジェクトじゃないし、クロージャは使えなかった気がする。今はどうか知らんけど ラムダという救世主がくだらぬ議論のすべてを吹き飛ばした モバイルアプリのプロトタイプ作成でApp.jsを使うのって主流なんですか? では
ブラウザ(ChromeとかSafariとか)で見てる画像を
保存するアプリを作りたいんだけど
https://joyplot.com/documents/2016/10/14/swift-file-send-recieve/
を見てdocument.typesにpublic.jpegとかを追加したんだが
いざSafariで共有ボタンを押しても
リストの中に自分で開発したアプリのアイコンが現れない
これは一体全体どういうことなのでしょう? https://i.imgur.com/CofPscR.jpg
XcodeでSwiftによるアプリケーション開発 入門編をやってます。
「行の左に、赤色のエラー記号が表示されています」
と書かれてあるけど、実際には出ないです。
「赤色のエラー記号をクリックすると、エラーに関する詳しい情報が表示されます。クリックしてみてください。
クリックすると、そのコード行が赤色でハイライトされます。右側にエラーの説明が表示されます。
もう一度クリックすると、エラーメッセージが非表示になります。」
左にエラー記号が出ないので、右のエラー記号をクリックしたけれど、何も変わりません。
というか、最初からエラーの行がハイライトされています。クリックしたけれどエラーメッセージの非表示も出来ないです。
事前にXcodeで何か設定が必要なんでしょうか?
https://i.imgur.com/TFii2Wr.jpg
理解度チェックのこの画面が正しい画面なんでしょうか? https://qiita.com/senseiswift/items/9b5476531a843b0e314a
iPhoneアプリ開発を初めてまだ間もないのですが
テーブルビューの実装で早速躓いてます
上のページを参考に進めてるのですが
3のステップでエラーがでてしまいます Type "ViewController" does not conform to protocol "UITableViewDataSource"
途中で投稿すみません
エラー内容は上記です >>984
ありがとうございます
実装しないといけない関数は4つあるんですね…
サイトだと2つしか実装してないのに…
セクションのヘッダー・フッターに関する
2つの関数をとりあえず書いてnilを返しておいたら
ひとまずは無事動作しました!
しかしC言語はやったことあるのですが
iOSとかOOPのお作法が全然理解できなくて辛い… >>985
Swiftは無駄にwithout Cな文法だから、Cになれた人だと最初はいらっとするかも Xcode10.0で、
Main.storyboardでボタン追加しようとしたら、
右下にあった検索窓消えてる!
よくよく見たら、二重丸◎ボタンを押すと、
Objectが選べるのね笑
マジ迷ったな。 command shift L(ibrary)で覚えると良い シャドーイングやめてよ
間違えるじゃん
なんでそんな仕組みあるの… >>993
だよね
「無駄に」ってところがポイントね このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 580日 2時間 16分 32秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。