17/05/08 08:14:18.24 tEZCpO6i0.net
>>518
Appleが政治的にゴリ押してるから移行する必要性が出てるわけであって、技術的にはそれもあり
536:デフォルトの名無しさん
17/05/08 08:43:41.22 CnaMYymAa.net
>>518
数年しか使わないアプリならそれでいいんじゃない。
537:デフォルトの名無しさん
17/05/08 08:48:43.68 X/V4E59/d.net
>>517
俺は十分に安定したと判断したからswiftに移行したけど、予想が外れたら恨んでくれて良いよ
538:デフォルトの名無しさん
17/05/08 13:41:30.46 Bf5KwLeX0.net
swift触るよりreact native とtypescriptでいいんじゃないかな?
reduxでステート管理できるぜ
539:デフォルトの名無しさん
17/05/08 13:44:43.79 vwxEwAxp0.net
>>522
react nativeもなんだかなぁ。
結局JavaScriptだけで、アプリ作れる訳では無いし。
RxSwift触ってるけど、
なんで、Variableとか、Driverとかがあるのか?良く判らん。
おまけに、RxSwift3.4になって、他にも色々増えてるし。
540:デフォルトの名無しさん
17/05/08 13:46:43.44 vwxEwAxp0.net
Variable, Driver
Single, Maybe, Completable
ってのがあるんだけど、こんなにViewModelが必要なのだろうか?
541:デフォルトの名無しさん
17/05/08 16:14:31.41 bL8ez2V30.net
>>521
ABIの安定化がようやく4でなされる予定で、文法の下位互換保証は5とかになるんじゃないのかね
そんな状況下で仕様安定というのはまだ時期尚早だと思うぞ
542:517
17/05/08 16:27:33.64 WhT9Qpgj0.net
ずっと前から定期的にswiftが安定したかどうかをこのスレで尋ねてきたんだけど
今回初めてポジティブな反応があったってのは喜ばしいです
これから勉強するって立場だと、前みたいにあまりにも大きい変更があるなら
手を出しづらいけど、
そこまで大きくない変更があるぐらいならなんとかなりそうだし、
仕様が安定した頃にはバリバリ書けてる様になれるのが理想なので
そろそろ勉強し始めてみるよ
またこのスレにはお世話になると思うので
今後もよろしくお願いします
543:デフォルトの名無しさん
17/05/08 17:29:23.85 WxeP2eSJ0.net
ABI安定化は延期されたから4には入らないって何度言わせるんだ
544:デフォルトの名無しさん
17/05/08 18:17:19.90 bL8ez2V30.net
あん?3が見送りで4で安定(予定)じゃないのかいな
swift-evolutionのREADMEでは4に入ってんぞ、これからまた変わったのか?
545:デフォルトの名無しさん
17/05/08 18:44:56.25 ZyGEVEkup.net
変化を恐れては何も進歩しない
546:デフォルトの名無しさん
17/05/08 22:24:36.42 Bf5KwLeX0.net
>>523
でも大概のアプリの要求は満たせると思うが。何よりマルチプラットホームなのが嬉しい。
とはいえ、typescrptにも限界はあって
やはり動的言語を無理やり静的言語に見せかけているゆえの謎の不具合は避けられないんだよなぁ
547:デフォルトの名無しさん
17/05/09 00:14:22.36 U8IiXvlVp.net
>>529
Swiftが進歩してもらうのはウェルカムだけどObjective-Cよりメンテコストがかかるのなら敢えて採用は出来ないって会社判断もある
うちはもっと安定してからかな
548:デフォルトの名無しさん
17/05/09 01:22:08.73 U5ulV1PaF.net
>>531
賢明な判断
549:デフォルトの名無しさん
17/05/09 14:41:07.77 saKaHmAZ0.net
import Foundation
extension NSObjectProtocol {
static var className: String {
return String(describing: self)
}
}
print(String.className) // =>NSString
print(String(describing: String.self)) // =>String
最初のprint文の出力は、これで良いのでしょうか?
Terminal.appで実行しました。
513> swift -v
Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9
です。
550:デフォルトの名無しさん
17/05/09 14:43:56.95 saKaHmAZ0.net
あと昔、NSObject classとNSObject protocolの2つがあった様に
記憶してますが、
protocolの方はNSObjectProtocol protocolに改名されたのでしょうか?
551:デフォルトの名無しさん
17/05/09 14:47:24.26 saKaHmAZ0.net
obj-cのNSObject protocolがswiftのNSObjectProtocolなんですね。
552:デフォルトの名無しさん
17/05/09 16:26:35.60 +4v+N8Ofp.net
ストーリーボードを使わずに開発したいんだけど、参考になる書籍がなかなか見つからん..
なんかオススメの本あったら教えてくれ
553:デフォルトの名無しさん
17/05/09 16:41:53.42 saKaHmAZ0.net
>>536
大都市圏にお住まいじゃないのかな?
554:デフォルトの名無しさん
17/05/09 16:43:02.60 aBFiO8O6a.net
>>536
ストーリーボード使えばいいじゃん
楽だよ
555:デフォルトの名無しさん
17/05/09 16:53:15.00 99drGKBN0.net
便乗で質問です。
Swiftの言語自体の解説は書籍もサイトも見つかるのですが、
ストーリーボード自体の解説をしている書籍とかサイトって、
あまり見当たり
556:ません。 なんかお勧めとかありますでしょうか?
557:デフォルトの名無しさん
17/05/09 16:57:06.02 PFfvqZY+0.net
>>533
バグっぽい
SE-0072 で String から NSString への暗黙的なキャストは禁止になったけど
NSObjectProtocol のメソッドを呼ぶときは暗黙的に NSString にキャストされるままになってしまってる
今 master の最近のビルドで試してみたらコンパイルエラーになったから 4.0 で修正されると思われる
print(NSString.className) // NSString
// print(String.className) // error: static member 'className' cannot be used on instance of type 'NSString'
print(type(of: "" as NSString).className) // NSString
Swift version 4.0-dev (LLVM 3df4892fbe, Clang 1a30829a18, Swift 79258866a2)
Target: x86_64-unknown-linux-gnu
558:デフォルトの名無しさん
17/05/09 17:02:09.65 PFfvqZY+0.net
>>536
>>539
ここは言語自体のスレなので、iOS開発関連の質問は↓このへんで聞いたほうがいい
[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
スレリンク(mac板)
Xcode part14
スレリンク(mac板)
559:デフォルトの名無しさん
17/05/09 17:09:44.77 99drGKBN0.net
>>541
了解です。ありがとうございます。
560:デフォルトの名無しさん
17/05/09 17:14:04.01 saKaHmAZ0.net
>>536
秘密!
俺って意地悪。
自己嫌悪。
561:デフォルトの名無しさん
17/05/09 17:21:32.43 +4v+N8Ofp.net
>>538
使わないほうがプロジェクトの管理的にいいんですよね..
>>541
すみません、誘導ありがとうございます。
そちらのスレで質問してみます。
562:デフォルトの名無しさん
17/05/09 17:23:30.33 aBFiO8O6a.net
>>544
>使わないほうがプロジェクトの管理的にいいんですよね..
なんで? 意味が分からん
563:デフォルトの名無しさん
17/05/09 17:41:17.37 XATV1oVDp.net
1つの.storyboardを複数名が修正して発狂するのはiOS/macOS開発の宿命
じゃあswiftだけ作ればいいって言うと更に発狂するし
storyboardを複数に分けるとビルド時間延びて発狂する
ホントXcodeはクソやでぇ、、、
まぁビルド時間はswift使う時点で頭くるほど延びてるんだけども
1.xの頃はホントシネと思った
564:デフォルトの名無しさん
17/05/09 19:02:34.86 kVl7/5KVp.net
1つでかいStoryboardがある場合とそれを分割した場合とじゃ後者の方がビルド早くない?ビルドキャッシュのおかげかな?
565:デフォルトの名無しさん
17/05/10 14:08:08.73 w+pKES+H0.net
>>540
THX
WWDC2017ではSwift4.0betaが出現かなぁ。
Swift3.1と4.0betaは共存できるのかな?
566:デフォルトの名無しさん
17/05/10 16:46:03.36 5zfXjNQY0.net
Swiftで開発中にハマまくったけど結局コンパイラのバグだったって経験ある人いる?
そういうのが怖くてSwift始められない人って多いと思う。
567:デフォルトの名無しさん
17/05/10 17:02:30.52 w+pKES+H0.net
>>549
540にbugの例があるだろ!
bugの回避を見つけられないなら、始めない方が良いと思う。
568:デフォルトの名無しさん
17/05/12 12:44:09.77 5uMNbvu6M.net
[速報]マイクロソフト、「Xamarin Live Player」発表。Visual Studioで開発したコードを直接iOS
/Androidデバイスに転送、実行、リモートデバッグ。Mac不要。Build 2017
URLリンク(www.publickey1.jp)
Xamarinに移行するわ。
569:デフォルトの名無しさん
17/05/12 13:59:51.73 lhbTqX1Q0.net
>>551
なかなか、良さそう。
Xamarin Live PlayerってのiPhoneへ放り込むって事で、WiFi経由でdebugできるってことか。
1本1,000円のLightning Cableが不要になるのはありがたい。
570:デフォルトの名無しさん
17/05/12 14:05:12.34 2mn6Y2Vsa.net
MS社員きてんね
571:デフォルトの名無しさん
17/05/12 14:05:21.37 Q17vINXP0.net
グダグダなswiftをみると、まともなC#に移行したくなるわな
572:デフォルトの名無しさん
17/05/12 14:36:33.56 lhbTqX1Q0.net
>>554
C#は歴史があるからなぁ。
573:デフォルトの名無しさん
17/05/12 14:37:19.76 lhbTqX1Q0.net
Microsoft Fluent Design System - YouTube
この動画感動。なんかすごそう。
簡単に、こんな、UI/UXできれば良いが。
574:デフォルトの名無しさん
17/05/12 18:51:17.19 adrx7z+4a.net
音量でかすぎた
575:デフォルトの名無しさん
17/05/12 20:26:13.04 PRgqKdu8M.net
Unityみたいにエミュレートなんじゃないのかな
576:デフォルトの名無しさん
17/05/12 20:36:48.20 eVJpK769p.net
あの日の夕暮れ時の輝くUnityみたいな君の笑顔を忘れない
Forever
577:デフォルトの名無しさん
17/05/12 22:48:43.99 lZ6lnHgt0.net
>>551
ますます、Swiftの存在価値に疑問符が打たれてきたな
578:デフォルトの名無しさん
17/05/12 22:52:46.78 5e8sApFSd.net
腐林檎怒らんの?
579:デフォルトの名無しさん
17/05/13 01:57:49.50 IqEmk/XX0.net
>>561
Appleと協議してOK出てるらしいよ
580:デフォルトの名無しさん
17/05/13 02:01:24.32 1JN0T2YBp.net
Xamarin Live Playerを使うことで、MacがなくともiOSデバイスへ開発中のアプリケーションをデプロイできるようになったため、
アプリケーション開発段階ではすべての作業をWindowsマシンだけで行うことができるようになりました(ただしAppleへの申請などのためにMacは必要となります)。
>ただしAppleへの申請などのためにMacは必要となります
>ただしAppleへの申請などのためにMacは必要となります
>ただしAppleへの申請などのためにMacは必要となります
Appleも抜かりはないな
581:デフォルトの名無しさん
17/05/13 02:03:40.83 hinxYcJy0.net
>>563
でも、それだけであればくそ高いmac本体買わないで済むわ
582:デフォルトの名無しさん
17/05/13 02:14:36.61 1JN0T2YBp.net
ユーザ拡大になるし、Mac miniでも買ってもらえるし、Developperプログラムの年会費も払ってもらえるし
まぁ、Appleにとってもメリットあるしな
583:デフォルトの名無しさん
17/05/13 06:43:51.68 As0eJ5kQ0.net
今までありがとう!Swift
Thank you Swift !!!
584:デフォルトの名無しさん
17/05/13 08:57:29.66 Z7L9CwYa0.net
低消費電力でモデム内蔵のARMベースプロセッサを使ったWindows 10マシン
今年年末に登場しそう。
585:デフォルトの名無しさん
17/05/13 09:37:10.68 rqW5CPNwa.net
C#の方が開発効率がいいってこともないしな
586:デフォルトの名無しさん
17/05/13 09:52:22.76 GNfu9LRLp.net
言語(swift)と開発環境(Xamarin)を比較しても意味もなし
でも久し振りのXamarinステマ荒しは懐かしくて感慨深い
MS買収前に結構必死にステマしに来てたよな
挙げ句、荒し隔離のためXamarin本スレが立てられたのは何年前か
587:デフォルトの名無しさん
17/05/13 11:40:17.12 XbcTyLeU0.net
業務でXcode以外でSwift使ってる人いる?
588:デフォルトの名無しさん
17/05/13 12:59:31.23 zXljI+dv0.net
Xamarin Live Playerを使ってみたので導入手順をまとめます!
URLリンク(qiita.com)
589:デフォルトの名無しさん
17/05/13 13:04:23.39 As0eJ5kQ0.net
>>570
Xcodeの補完機能があってこそかろうじて使えるswiftをわざわざ他の環境で使うメリットがあると思うなら書いて欲しい
590:デフォルトの名無しさん
17/05/13 13:15:08.25 GNfu9LRLp.net
IntelliJ系列のどこぞのIDEがswiftもサポートしてたはずで
Android Studioと操作が変わらないから Android/iOS平行実装の開発効率が良い、と�
591:イ物語を言ってみる 実際はstoryboardを十分に扱えない時点で耐えないんだけども UI伴わないライブラリ部分の実装なら可能性はある?
592:デフォルトの名無しさん
17/05/13 13:18:23.20 xkrIKHJy0.net
>>571
アザっす!
593:デフォルトの名無しさん
17/05/13 14:31:08.02 ip/BeLNq0.net
ちょっとしたことでXcode立ち上げるのめんどいときはAtomやVimもよく使う
594:デフォルトの名無しさん
17/05/13 14:41:37.17 Z7L9CwYa0.net
>>575
俺もコードの断片を試すのにVim使ってる。
Atomも気になるけど、まだ未体験。
command+Iでコードを実行できるってのが素敵。
595:デフォルトの名無しさん
17/05/13 14:47:23.12 OMAeHVCMa.net
Xcodeは普通立ち上げっぱなしやろ
596:デフォルトの名無しさん
17/05/13 23:05:16.12 GNfu9LRLp.net
vim + swiftc は正義
メモリ4Gの安いものMBAだとXcodeも重くてたまらんわー
597:デフォルトの名無しさん
17/05/14 09:22:38.57 HODPBKt90.net
>>578
偉い!
4GでXcodeは、Yosemiteだと割と快適だった。
SierraになってmacOS自体のメモリ消費が激しいのかな?
Xcode重いぜよ
598:デフォルトの名無しさん
17/05/14 20:05:43.28 oVGn9/4Pa.net
【北朝鮮ミサイル】射程4000キロ超か
株売って、疎開せえやwww
599:デフォルトの名無しさん
17/05/14 20:21:34.19 HODPBKt90.net
>>577
Xcodeたち上げっぱなし、俺もそう。
600:デフォルトの名無しさん
17/05/14 20:25:19.44 HODPBKt90.net
開発機の予備が欲しいんだけど、どっちが良いだろう?
MacBook Air 1600/13.3 MMGF2J/A
最安価格(税込):¥86,726
MacBook Pro Retinaディスプレイ 2700/13.3 MF839J/A
最安価格(税込):¥118,330
どちらも外部LCD接続で使用予定。
601:デフォルトの名無しさん
17/05/14 20:28:05.05 HODPBKt90.net
iMac Retina 4Kディスプレイモデル MK452J/A [3100]
Retina 4Kディスプレイ搭載のiMac
最安価格(税込):¥138,799 (前週比:-26円↓)
開発機にはこれが良いかも。Quad Coreだし、16GBメモリへ増設可能だし。
602:デフォルトの名無しさん
17/05/14 23:04:39.52 uv93vc4+0.net
atomの立ち上げ時間も結構しんどいよ…
603:デフォルトの名無しさん
17/05/15 11:57:21.79 EZXo4zola.net
開発機の予備なら何でもいいんじゃない。
Appleはそれほど種類があるわけでもないし。
604:デフォルトの名無しさん
17/05/15 16:35:12.83 GeJVogvRa.net
鼻味噌
605:デフォルトの名無しさん
17/05/16 09:55:12.80 5DkIZU+i0.net
ちょいと長いコード(170lines)なんですが、コンパイル出来ずに困ってます。
URLリンク(swift.sandbox.bluemix.net)
ERROR at line 64, col 9: value of type 'Bag<AnyObserver<String>>' has no member 'on'
bag.on(.next(value))
RxSwiftと同じ動きをするclass, protocolを自作しようとしているコードなんですが、コンパイル成功させるにはどの様に修正すれば良いでしょう?
コードのオリジナルは、
URLリンク(qiita.com)
から拾って来ました。オリジナルをSwift3.1へ移植したコードをswift.sandbox.bluemixへ貼りました。
606:デフォルトの名無しさん
17/05/16 11:59:38.46 ICwew/1a0.net
>>587
記事が2016年という前提で
↓のextensionが足りない
URLリンク(github.com)
正常動作かどうかは知らないがとりあえず追�
607:チ http://swift.sandbox.bluemix.net/#/repl/591a698acfa69e773dc97f42
608:デフォルトの名無しさん
17/05/16 13:30:21.26 5DkIZU+i0.net
>>588
THX
今日は、現実逃避の為にRxSwift三昧です。
こんなメール
>>今期のxxxさんの業務目標について、iOSアプリについては、私から指示があります。
しばらく、ブッチしよう。
609:デフォルトの名無しさん
17/05/16 16:38:05.02 5DkIZU+i0.net
>>588
あんた、達人だね。
610:デフォルトの名無しさん
17/05/16 21:01:58.80 V62zB62H0.net
RxSwiftみたいな何年も前の流行りモノを業務時間内に学習してる後輩/部下がいたら指導するわw
Swift 2.xの頃にEitherフレームワークが便利!と食いついて3.0でorzになった奴らと大して変わらんと思うんよ
Either、使いやすそうだったから言語公式に入ってくれたら良かったのになぁ
3.0でthrowsが入った時には、ObjCとの兼ね合い上、そうなるしかないのか・・・とSwiftに対して諦観した
611:デフォルトの名無しさん
17/05/17 00:39:16.19 Ohq1+PUR0.net
throwsが入ったのは2.0だが
612:デフォルトの名無しさん
17/05/17 01:01:44.90 jqU81Xra0.net
>>582
air はクソ コンパイルが遅い
Swiftで使うのは酷だな
613:デフォルトの名無しさん
17/05/17 01:03:27.25 jqU81Xra0.net
>>572
結局そこだよな
ウンコ環境のXCodeでテキスト書かないと行けないのが
Swiftの生産性の低さだし
614:デフォルトの名無しさん
17/05/17 01:09:00.66 wBpGRZBOa.net
C#とかJavaってテキストエディタだけでも生産性高いの?
615:デフォルトの名無しさん
17/05/17 02:12:48.46 v4KZ2kPEa.net
C#はC#6以降は割とマジで生産性高い。
kindle本からのコピペでスペースがおかしいが。。。
u s i n g S y s t e m ;
u s i n g s t a t i c S y s t e m . C o n s o l e ;
c l a s s P r o g r a m {
s t a t i c v o i d M a i n ( s t r i n g [ ] a r g s ) {
W r i t e L i n e ( " H e l l o W o r l d ! " ) ;
}
}
using staticでSystem.Consoleまで指定すればWriteLineだけで良くなった。
その他色々短縮したり仕様上、出来なかったことが出来るようになったり。
616:デフォルトの名無しさん
17/05/17 09:19:35.81 ZxePWPEe0.net
>>592
orz、Swiftに諦観したのはそんな前だったか
それでもまぁあの頃は更新頻繁で楽しかった、今は更新少なくて寂しい
617:デフォルトの名無しさん
17/05/17 11:35:09.00 q4Dy9Gb80.net
>>596
これだけじゃぁ何がすごいのかわからないなりよ
618:デフォルトの名無しさん
17/05/17 13:56:25.22 8ydAfzFNp.net
以前は
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("HelloWorld!");
}
}
だったものが
using System;
using static System.Console;
class Program {
static void Main(string[] args) {
WriteLine("HelloWorld!");
}
}
で済むようになった、すごい!
なお、Swiftでは以下の一行で済む、Swiftもっとすごい!
print("HelloWorld!")
619:デフォルトの名無しさん
17/05/17 14:03:46.15 AiW2lEeYp.net
:::::::: ┌──────── ┐
:::::::: | C#がやられたようだな…. │
::::: ┌──└──────v──┬┘
::::: |フフフ…奴は四天王の中でも最弱 …. │
┌─└────v─┬────┘
| Swiftごときに笑われるとは │
| 我ら四天王の面汚しよ… │
└──v─────┘
|ミ, / `ヽ /! ,.─、
|彡/二Oニニ|ノ /三三三!, |!
`,' \、、_,|/-ャ ト `=j r=レ /ミ !彡
T 爪| / / ̄|/´__,ャ |`三三‐/ |`=、|,='|
/人 ヽ ミ='/|`:::::::/イ__ ト`ー く__,-, 、 _!_ /
/ `ー─'" |_,.イ、 | |/、 Y /| | | j / ミ`┴'彡\
C++ Java JavaScript
620:デフォルトの名無しさん
17/05/17 17:22:44.69 i1ICJ16i0.net
/ミ !彡 ●
|`=、|,='| _(_
、 _!_ / ( ゚ω゚ )
/ ミ`┴'彡\ ' `
Visual Basic
621:デフォルトの名無しさん
17/05/17 23:03:15.55 Noyf0zx+a.net
あれ。。。
SwiftってもしかしてLL?
インタプリタ?
622:デフォルトの名無しさん
17/05/17 23:06:00.60 Noyf0zx+a.net
とりまC#6の新機能紹介のページググったわ
URLリンク(www.buildinsider.net)
623:デフォルトの名無しさん
17/05/18 09:19:16.04 pNgi+zrhd.net
>>599
皮肉が効いてるな
表面的なコード量が短いことが他の全てのことに優先して正義だと本気で思ってる奴がいるからな
624:デフォルトの名無しさん
17/05/18 10:03:29.76 pE9H07RL0.net
表面的なコード量が長いことをコンプレックスに持ってる言語もいるよね・・・
そして、一長一短の他者を認めることもなく他言語を総じて悪と本気で思ってたり
>>603
ざっと見たけどSwiftで同等のこと出来てね?所詮、四天王最弱か
625:デフォルトの名無しさん
17/05/18 10:44:29.14 rvD/i38o0.net
>>591
あんた、厳しいなぁ。
それから、流行り物っていう評価はどうかな?
今後、廃れていくと言うことを、暗に言ってるつもりなのか?
626:デフォルトの名無しさん
17/05/18 11:51:08.83 cbVNyV680.net
Playgroundでシコシコ遊んでると、そのうち出力が表示されなくなったり無反応になるんだが
どうにかならんもんかね
627:デフォルトの名無しさん
17/05/18 12:01:12.99 rvD/i38o0.net
>>607
そんなもんだ。
Xcode再起動。
628:デフォルトの名無しさん
17/05/18 13:53:48.78 cxDrW8CM0.net
Apple無念・・・
Google、KotlinをAndroidアプリ開発言語に選定―I/O会場から大喝采
URLリンク(jp.techcrunch.com)
629:デフォルトの名無しさん
17/05/18 13:59:24.41 TSzqrQQ0a.net
>>605
まあ最新はC#7で、おいらはプログラミングから離れたんでうらしま太郎状態なんだけどね。
VSやコンパイラもC#で作られたのがC#6からだっけ。。。
630:デフォルトの名無しさん
17/05/18 14:56:56.01 73+z2CN30.net
>>609
何が無念?
631:デフォルトの名無しさん
17/05/18 15:59:16.23 xh1cvqBY0.net
Swiftにならなかった、ということだろう
Google、SwiftをAndroidの第一級言語にすることを検討?
URLリンク(www.excite.co.jp)
632:デフォルトの名無しさん
17/05/18 16:19:36.22 rvD/i38o0.net
>>610
Visual StudioがC#で?
あの遅い言語のC#で?
それは本当か?
633:デフォルトの名無しさん
17/05/18 16:24:16.64 rvD/i38o0.net
>>609
>Kotlin
こいつが気にくわないのが、val, varなんだよねぇ。定数、変数の違いを記述する方法が。
let, varにしてもらわんと、目がチカチカするわぁ。
634:デフォルトの名無しさん
17/05/18 16:25:14.83 rvD/i38o0.net
swift -> kotlinコンバーターとか作れるのかなぁ?
635:デフォルトの名無しさん
17/05/18 16:32:06.75 fOFaQvk5p.net
SwiftはLLVMでコンパイルするんだからJVM向けバイナリ吐けばいいだけでしょ
なんでKotlinを挟む必要があるのか、それがワカラナイ(色んな意味でスットボケ
636:デフォルトの名無しさん
17/05/18 16:33:43.40 rvD/i38o0.net
>>615
>swift -> kotlin
URLリンク(qiita.com)
あまりに似ているので、かえって混乱するかも
637:デフォルトの名無しさん
17/05/19 20:58:58.36 RywFaTWpd.net
swiftでiOS勉強したいのですが、参考になるOSSのアプリとか無いでしょうか
ドキュメントから入るより出来の良いコードを見たい派です
638:デフォルトの名無しさん
17/05/19 21:13:02.47 lzW4mJ600.net
GitHubにいっぱいあるだろ
639:デフォルトの名無しさん
17/05/20 13:02:32.18 wa2Zpry6M.net
>>614
同意
640:デフォルトの名無しさん
17/05/20 14:50:47.85 tp08styd0.net
Kotlinのval,varはScala先輩に倣ったものだから仕方ない
641:デフォルトの名無しさん
17/05/21 00:39:31.16 gwfvvdvz0.net
swift はそろそろ安定期に入ってもいいと思うんだ
642:デフォルトの名無しさん
17/05/21 09:35:27.70 PKguD9Ia0.net
>>622
bugレポ、沢山上がってるが、これはどうする?
643:デフォルトの名無しさん
17/05/21 11:11:35.71 xz6V7we20.net
バグレポを出す時にプルリクをセットにすれば安定はすぐだ
644:デフォルトの名無しさん
17/05/21 11:13:42.65 Wx20c4Ig0.net
>>622
無理無理
645:デフォルトの名無しさん
17/05/22 09:20:46.59 QM6p1JyG0.net
>>622
bugレポ、新機能追加requestともに増えている状況だから
安定なんて、無理じゃね?
646:デフォルトの名無しさん
17/05/22 09:23:11.36 QM6p1JyG0.net
Swift4 betaをinstallした後、Xcode8.3.2で切り替えながら使うqiita記事を見失った。
なんと言うタイトルだったか?どんなtagでqiitaを検索すればhitするのか?
教えてクレェ?
647:デフォルトの名無しさん
17/05/22 10:13:24.24 np8fDJ8H0.net
Xcode用のsnapshotはインストーラ形式だしダウンロードしてインストールしてXcodeのtoolchainで切り替えるだけの簡単操作やろ
Xcodeでの切り替えはXcode>Toolchainsか環境設定>Components>Toolchains
Terminalでの切り替えは
毎回頭にxcrun -toolchain swiftとつけて
xcrun -toolchain swift swift -version
とするか
export TOOLCHAINS=swift
すればいい
インストールされる実体は
/Library/Developer/Toolchains/xxx.xctoolchain
にある
.xctoolchain内のInfo.plistにあるCFBundleIdentifierをtoolchainの引数に指定すれば、複数のSnapshotをインストールしてても細かく切り替えられる
xcrun --toolchain org.swift.3020170515a swift -version
とか
去年はPlaygroundsがToolchainに対応してなかったけど今年は対応済みのようなのでPlaygroundsで色々試せていい
URLリンク(github.com)
648:デフォルトの名無しさん
17/05/22 10:14:58.82 WxrTRTpJp.net
xcrun selectとか(定期待ち)
649:デフォルトの名無しさん
17/05/22 10:47:13.23 QM6p1JyG0.net
>>628
ありがとう。
超THX
650:デフォルトの名無しさん
17/05/23 10:52:51.90 3fZmvxNt0.net
Swift歴2年、アプリリリース経験無しの非IT系リーマンです。Generics protocolとか難しいなぁと思いながら、RxSwiftのコードを解読してます。
Fortran, C++のコードを書いて金をもらった事があります。C#, Java, Obj-Cもチョコっといじった事があります。
Swift, C#, Java, C++の4つの内、どれが一番難しいと思います?
651:デフォルトの名無しさん
17/05/23 11:07:24.17 nyMT4OHb0.net
難しさでいったら、C++ 一択やろなぁ
652:デフォルトの名無しさん
17/05/23 11:12:58.06 3W0XlzKra.net
圧倒的にC++。
今
653:でもMFCには玄人っぽさへの憧れはあるけど、MFCの本は最盛期に比べて大分減ったなぁ。。。 JavaやC#してから(特にC#のがC++に近いけど分からなくなる一歩手前まで取り入れてるからオススメ)、C++行くと理解が進むね。
654:デフォルトの名無しさん
17/05/23 11:52:49.93 3fZmvxNt0.net
AppleのReferenceで混乱してる記述を発見
1. メタ・タイプを戻すグローバル関数type(of:)の説明には、戻り値がMetatypeとある。
2. メタ・タイプを引数にとるUITableViewCell.registerの説明には、引数がAnyClassとある。
どっちかに記述を統一してほしい。
655:デフォルトの名無しさん
17/05/23 13:01:08.53 IPskfFz70.net
Metatypeはstructやenumも含めた型でAnyClassはclassだけじゃない
656:デフォルトの名無しさん
17/05/23 13:07:30.75 3fZmvxNt0.net
>>635
なるほどぉ
657:デフォルトの名無しさん
17/05/23 13:46:30.45 3fZmvxNt0.net
>>633
Visual Studio6の頃までしか、MFCは知らんけど、
Microsoftは、MFCを放置してるんちゃうの?
同時に、C++11, C++14って進化してるのに、Micorsoft C++はこれも独自仕様
で放置されてる、ちゅうのが俺の印象なんすけど、違うんでしょうか?
最近のMicrosoft系開発環境に疎いので間違ってたら申し訳ないすけど。
658:デフォルトの名無しさん
17/05/23 14:21:59.30 ka9VvDM30.net
>>634
違いは>>635(AnyClassはclassだけ)であってるけど
補足するとMetatypeという識別子の型は無い
あれは単なるジェネリクスのプレースホルダ名
実際のメタタイプの型は「(型名).Type」でAny.Type型にも入れられる
AnyClassは「AnyObject.Type」のエイリアスでclassのメタタイプのみ入る
ちなみにメタタイプの値自体はclass型でないのでメタタイプのメタタイプはAnyClassに入らない
class A{}
let a:AnyClass = A.self //OK
let b:AnyClass = A.Type.self //NG
let c:Any.Type = A.Type.self //OK
659:デフォルトの名無しさん
17/05/23 17:12:29.92 3fZmvxNt0.net
/var/folders/4x/4kvmnvfd46zdv9xt45wf2kx00000gn/T/
vzb3TAU/1:20:19: warning: operator should no longer be declared with body
infix operator ^^ { }
~^~~
SwiftコンパイラーをTerminal.appで動かすと上記の様なwarningが出ます。
エラーの内容は^^演算子が定義されていません。って事だんですけど。これは、置いておいて、
1:20:19は何を表わしてるのでしょうか?20行目19カラムって事は判ったのですが、1は何でしょう?
1番目のソースって事なんでしょうか?
660:デフォルトの名無しさん
17/05/23 18:36:11.48 PJIONmxya.net
>>637
リボンUIはMFCらしいってのまでは追ってたんで、今も地味に進化してると思うけど、おいらも分からん。
あの機能は何の為かとか分かるようになったけど、結局C++触らなくなった。
再入門しようにも入門書の少なさよ。。。
661:デフォルトの名無しさん
17/05/23 19:14:39.26 1Q8iu32F0.net
ビルドキャッシュとして
/var/folders/4x/4kvmnvfd46zdv9xt45wf2kx00000gn/T/vzb3TAU/1
ってファイルがあるんじゃないの
一時的に作られてすぐ削除されるかもしれんから存在確認できるか知らんけど
662:デフォルトの名無しさん
17/05/24 01:14:07.99 9HF6LZlN0.net
そもそもwindowsのアプリ開発でMFC使う事情って保守以外に何あるの?
663:デフォルトの名無しさん
17/05/24 07:14:18.79 6yksy5B10.net
このスレチの話題の結末が
MFCがmacOSで使える、そうSwiftならね
だったら感動する
664:デフォルトの名無しさん
17/05/24 10:39:54.11 2xFOJ35Oa.net
感動はするけど、真っ平御免だなw
665:デフォルトの名無しさん
17/05/24 10:40:45.91 2xFOJ35Oa.net
>>642
怖いもの見たさで再挑戦したいだけ。
スレチだし気にしないで。
666:デフォルトの名無しさん
17/05/24 10:44:09.55 vuqBov/y0.net
>>642
動作の軽いアプリが作れる。
.netアプリは動作がモッサリ
667:デフォルトの名無しさん
17/05/24 11:45:23.69 4nncZNTTH.net
MFCはクラスライブラリとは言ってるけどただのモジュールだからなω
668:デフォルトの名無しさん
17/05/24 12:03:02.42 2l4fECtb0.net
KFCはファーストフードとは言ってるけどただのフライドチキンだからなω
669:デフォルトの名無しさん
17/05/24 12:10:44.50 4nncZNTTH.net
KFC高いよね
670:デフォルトの名無しさん
17/05/24 12:40:42.62 QzCZ6xD4a.net
あとポケトも不味いよね
671:デフォルトの名無しさん
17/05/24 12:43:35.78 5Ui6S+Mpp.net
macもファストフードって言ってるけどハンバーガーなんだよな...
672:デフォルトの名無しさん
17/05/24 15:21:05.18 9HF6LZlN0.net
もうkotlinでいいんじゃね。大体同じだし。
673:デフォルトの名無しさん
17/05/24 15:27:20.63 yyV+KPjA0.net
Kotlinの方が名前が可愛いな
674:デフォルトの名無しさん
17/05/24 15:39:03.23 EADXj+S1M.net
バカッターの次はマスト鈍かよ
Swiftはコンパイル必要とかスクリプト言語だとかクッソデタラメばかり撒き散らしてやがる
Swiftはスクリプト言語のようにJIT実行もできるし事前コンパイルして動作することもできるっちゅーねん
よくわかってないからと言って既存のカテゴリに当てはめようとするからおかしくなるんだ。黙ってればいいのに。
twitterもマストドンもバカに絡まれたくないから間違ってても誰も訂正してくれないてことはもうそろそろ理解しないといけないだろうに
675:デフォルトの名無しさん
17/05/24 15:43:46.34 820zba2j0.net
つまりkotlin統一でいいね?
676:デフォルトの名無しさん
17/05/24 16:16:47.79 vuqBov/y0.net
kotlinのvar, valが嫌いだ。
var, letにしてくれ!
677:デフォルトの名無しさん
17/05/24 17:53:01.63 IPRnvfLw0.net
じゃあvar, letにした新言語Kotiftで
678:デフォルトの名無しさん
17/05/24 18:40:00.41 fS2T0Ehba.net
>>647
そうそう。
macで使えるようになって嬉しいとしたらDelphiのVCL。
C#の中の人(Delphiの生みの親)をMSから引き抜けw
679:デフォルトの名無しさん
17/05/25 08:20:49.95 STB2bQ410.net
>>658
VCLって使った事ない。
けど、噂には聞いている。
最近のDelphiではiOSアプリ作れるのか?
680:デフォルトの名無しさん
17/05/25 08:39:03.16 STB2bQ410.net
RAD StudioってのでiOSアプリ作れるみたい。
681:デフォルトの名無しさん
17/05/25 09:04:58.00 STB2bQ410.net
URLリンク(qiita.com)
682:デフォルトの名無しさん
17/05/25 09:55:30.40 pDlob0Fd0.net
>>661
ブラクラ
683:デフォルトの名無しさん
17/05/25 10:26:57.11 nE79I92lH.net
ブラクラではないが特に読む意味もなかった
684:デフォルトの名無しさん
17/05/25 10:35:05.59 jD8c7u6va.net
>>659
.netがVCLに似てる。
ネイティヴ版.netって感じだよ。
言語がC++かObjectPascalってだけで。
.netのForms使えるならVCLも違和感無く使える。
685:デフォルトの名無しさん
17/05/25 11:18:46.81 STB2bQ410.net
>>664
なるほど!VCL良いじゃん。
Common Language RuntimeとかいうInterpreter無しに.netモドキが動くなんて。
686:デフォルトの名無しさん
17/05/25 12:08:23.03 ETNdktOYd.net
>>662
ブラクラとは、どういう意味ですか。
687:デフォルトの名無しさん
17/05/25 12:36:36.05 pDlob0Fd0.net
>>666
ブラクラとは、どういう意味ですか。とは、どういう意味ですか?
688:デフォルトの名無しさん
17/05/25 12:53:08.46 STB2bQ410.net
>>667
お前、相当、捻くれ者!
689:デフォルトの名無しさん
17/05/25 13:09:18.12 pDlob0Fd0.net
>>668
ありがとー
690:デフォルトの名無しさん
17/05/25 13:38:00.17 A2RaX9kE0.net
完全にスレチな話題延々してるのとどっちもどっち
691:デフォルトの名無しさん
17/05/25 16:35:11.41 trjr6FJ
692:g0.net
693:デフォルトの名無しさん
17/05/25 17:14:53.66 pDlob0Fd0.net
どこに
>Copy On Writeで最適化する場合にはprotocolやclassでラップせよ
とか書いてあんだよ
>Copy On Writeって関数引数に単純なstruct型を渡した時の値渡しには適用されないって認識であってる?
んなわけねーだろ
694:デフォルトの名無しさん
17/05/25 17:36:25.00 trjr6FJg0.net
あ、すまん、Advice:の節を注視して前の節を飛ばしてた
> When we copy values (the effect of assignment, initialization, and argument passing) the program will create a new copy of the value.
値渡しはコピーするってしっかり書いてあったわ
695:デフォルトの名無しさん
17/05/25 17:42:45.12 A2RaX9kE0.net
structは常にコピー
このstructはcopy on writeです、という場合も便宜上そう言ってるだけで、実際は中の参照型のストレージをcopy on writeしてるんであってstruct自体は常にコピー
ただしin-out引数だけは例外的にstructでも参照渡しになる場合がある
696:デフォルトの名無しさん
17/05/25 17:46:16.79 pDlob0Fd0.net
copy on writeだから、コビーの必要性が生じた時にコピーが発生するんだろ
structであっても参照するだけならコピーはしない(はず)
697:デフォルトの名無しさん
17/05/25 17:59:30.69 trjr6FJg0.net
>>674
だよなー、昔もSwiftはCOWで処理するからコピーするわけない!!みたいな奴がいて
ずっと首を捻ってたから、このドキュメントで裏付け取れて良かったわ
>>672, 675
お前はフィーリングだけで物を言わず、COWの実装を学べ
あと>>671でprotocolでラップとか言ったけど意味ないな
protocolはI/F切るだけのものだから、class/structで差をつけないと参照/値渡しには影響ないわ
698:デフォルトの名無しさん
17/05/25 18:01:40.91 trjr6FJg0.net
structの参照渡しのためのin-out parameter(inout)は使いたくないと思った
それするなら、最初からclassでAPIを設計しろというね
699:デフォルトの名無しさん
17/05/25 18:02:56.87 pDlob0Fd0.net
>>676
常にコピーなら、コピーオンライトとは呼べないな
700:デフォルトの名無しさん
17/05/25 18:12:33.09 pDlob0Fd0.net
>>677
inoutを指定しなくないから、クラスにするって考え方がそもそもおかしい
701:デフォルトの名無しさん
17/05/25 18:31:58.93 ud72tGp9d.net
>>678
メモリ操作としてのコピーと、変数への代入時の複製を混同すると、そういう訳のわからない議論になるね
structはコピーオンライトと言っても、osやハードウェアのレイヤーになるとclassであっても必要に応じてコピー(と消去を組み合わせた移動)を行ってるんだけどね。
swiftのレイヤーでは、常にコピーされるって言って良いんじゃないかな
コピーの為に支払うコストがいつ払うことになるか、そもそも払う必要が生じるのか、っていう部分にコピーオンライトの概念が関係してくるだけなんだから
702:デフォルトの名無しさん
17/05/25 18:40:08.35 pDlob0Fd0.net
>>680
ごちゃごちゃした理論は言語設計者の領域の話で
プラグラマ視点でのコピーオンライトという文脈では書き換え時にコピー(コスト)が発生するという単純な理解で特に問題ないだろ
じゃないと、Structは常にコピーが発生するからデータの粒度をなるべく小さくして関数への引数渡しも注意しないととか余計な設計負荷を意識しないといけなくなる
703:デフォルトの名無しさん
17/05/25 19:05:1
704:2.83 ID:rwN5JfUNp.net
705:デフォルトの名無しさん
17/05/25 19:55:10.84 pDlob0Fd0.net
でかいデータをstructにつっこんで扱う時に注意すべきことが書いてあるだけだろ
つまり代入が頻繁に発生する状況でも、そのプロパティに実際にアクセスがあるまでコピーを遅延させるテクニックについて触れられてるだけ
別に関数の引数に値型を使うなとかとんちんかんなことは書いてないな
706:デフォルトの名無しさん
17/05/25 21:10:12.75 1RtxtHBK0.net
SwiftでCOW意識する人なんているんだ。
そういう人はC++とかRustとか使えばいいのに。
707:デフォルトの名無しさん
17/05/25 22:26:04.80 VkchUDpW0.net
最適化しない場所も含めて意識くらいはするでしょ
その程度のことで言語を変える理由にはならんよ
むしろStructでCoWという設計だからこと気兼ねなく渡せるってことに気付いた方がいい
708:デフォルトの名無しさん
17/05/26 05:16:56.16 xRlJL6be0.net
誤: StructでCoWという設計だからこと気兼ねなく渡せる
正: Array StructでCoWという設計だからこと気兼ねなく渡せる
どうしてもSturct全般でCOWが適用されると思い込みたいアホが食いしばってて笑う
709:デフォルトの名無しさん
17/05/26 07:23:41.84 nbO+4ovP0.net
>>686
「Structが」じゃなくて「Structで」な
Arrayに限らず、StringやDictionaryなどのstructでCoWを実装したもの全般
classでCoWを実装する場合は使う側が明示的にcopy()clone()などを呼ぶかinitを使う必要があるが
structでは代入,引数渡し,戻り値がコピーセマンティクスなので透過的に扱うことが出来る
710:デフォルトの名無しさん
17/05/26 08:03:17.32 xRlJL6be0.net
COWの話題から、いつの間にか参照渡し/値渡しの解説になっててワロタ
結局はSturctでCOWが常時適用されるわけじゃないから気をつけようってこったな
参照渡し/値渡しの違いを知らないLL言語勢もいるかもしれんが、別の問題だから気にしない
>>671のReducing Dynamic Dispatchの節も面白い
SwiftはObjective-Cと違ってダイナミックディスパッチを減らす機構を持ってるぜ、と
これを徹底的に使い倒したら、局所的にはObjCよりSwiftの方が性能よくなる可能性が微レ存?
711:デフォルトの名無しさん
17/05/26 08:31:19.29 nbO+4ovP0.net
細かいところだけどclassは参照の値渡しでinoutは参照渡し
712:デフォルトの名無しさん
17/05/26 08:45:20.46 zBDwmOYm0.net
>>676
protocolにまつわる言い回しを色々見ますが、どれが適当なのでしょう?
1. protocolを切る
2. protocolを当てる
3. protocolに準拠させる
すべてadding protocol confromanceの訳語だとおもうんですけど。
713:デフォルトの名無しさん
17/05/26 08:49:45.12 zBDwmOYm0.net
最近のCPUはSIMD命令(SSEとかAVRとか言われるやつ)を内蔵していて、
でかいStructも一発でコピーできるって、理解は正しいっすかねぇ?
512bitレジスタが32個あって、しかもその32レジスタはペアで使える。
って事は、512bit x 32個 = 2Kbyteを一発でレジスタ -> メモリへmoveしたり
メモリ -> レジスタloadできる。
この理解はOKっすかねぇ。
714:デフォルトの名無しさん
17/05/26 10:19:08.37 LS4RNUEG0.net
>>689
in-out引数は参照渡しじゃない
in-out引数のセマンティクスはあくまでcopy-in copy-outで、最適化で参照渡しになる"場合もある"だけ
リファレンスではin-out引数が参照渡しであると想定したコードを書いてはいけないとはっきり言ってる
URLリンク(developer.apple.com)
715:/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-ID545 var i: Int = 0 { willSet { print("willSet: ¥(newValue)") } } i = 1 // prints "willSet: 1" i = 2 // prints "willSet: 2" func f(_ v: inout Int) { v = 3 v = 4 } f(&i) // prints "willSet: 4" 参照渡しなら"willSet: 3"と"willSet: 4"両方表示されるはずだけど 実際には関数に入るときにiの値がvにcopy-inされ 関数から出るときにvの値がiにcopy-outされるので copy-out時の"willSet: 4"しか表示されない
716:デフォルトの名無しさん
17/05/26 10:43:47.67 zBDwmOYm0.net
>>692
すんばらしい、説明
717:デフォルトの名無しさん
17/05/27 14:04:16.20 SDTaiU/Z0.net
>>692
え…
参照渡しと値渡しで違う動作するとき
動作がどっちになるかわからんってこと?
718:デフォルトの名無しさん
17/05/27 21:00:43.52 h0JsdT2O0.net
>>694の心の声
(やべぇ、まじかよ…。バグ仕込んじまった…)
719:デフォルトの名無しさん
17/05/27 21:48:41.96 aL4+kPgB0.net
inoutで渡された配列変数のオリジナルを関数内で操作しても副作用はないみたいただけどな
var a = [Int]()
func f(_ v: inout [Int]) {
v.append(3)
a.append(4)
v.append(5)
}
a.append(1)
f(&a)
a.append(2)
print(a) // [1, 3, 4, 5, 2]
ただ、それを想定するなということなんだろ
720:デフォルトの名無しさん
17/05/27 21:57:51.65 e57lt1AJ0.net
SwiftってiOSアプリ以外に広がる可能性ある?
721:デフォルトの名無しさん
17/05/27 22:13:54.38 7vlRlcaj0.net
少なくともwillSetがある場合は参照渡しの最適化が掛からないようだね
以下のAはcopy-in, copy-outになっていて、Bは参照渡しになってる
URLリンク(swift.sandbox.bluemix.net)
722:デフォルトの名無しさん
17/05/27 22:20:21.28 SDTaiU/Z0.net
>>696
いやそれ副作用ある状態じゃん
関数終わった時点で
a=1,4
v=1,3,5
だからoutでvがaに上書きされて
1,3,5,2 が出ないといけないはず
723:デフォルトの名無しさん
17/05/27 22:21:46.44 7vlRlcaj0.net
>>696
var a = [Int]() { willSet{ } } にしたら [1, 3, 5, 2] になるね
724:デフォルトの名無しさん
17/05/27 22:26:06.26 SDTaiU/Z0.net
えええええ
ほんとに動き違うのかwwww
725:デフォルトの名無しさん
17/05/27 22:26:19.82 aL4+kPgB0.net
>>699
aの内容を変更するためにf()にaを渡したのだから、f()の中ではaとvは同じ扱い
なので、inoutの仕様からすれば、>>696の挙動が自然だと思うけど
726:デフォルトの名無しさん
17/05/27 22:30:22.71 aL4+kPgB0.net
willSetの有無で挙動が変わるのはいただけな
デバッグで混乱する元になる
727:デフォルトの名無しさん
17/05/27 22:31:17.31 SDTaiU/Z0.net
>>702
>>692のリンク先
In-out parameters are passed as follows:
1.When the function is called, the value of the argument is copied.
2.In the body of the function, the copy is modified.
3.When the function returns, the copy’s value is assigned to the original argument.
コピーされるて書いてあるやん!
728:デフォルトの名無しさん
17/05/27 22:38:43.72 aL4+kPgB0.net
>>704
そこに
As an optimization, when the argument is a value stored at a physical address in memory, the same memory location is used both inside and outside the function body. The optimized behavior is known as call by reference
とも書いてある。参照を渡して最適化されると。
それに依存して関数内で参照元にアクセスするなとも書いてあるけど
729:デフォルトの名無しさん
17/05/27 22:41:57.41 SDTaiU/Z0.net
>>705
うん、>>692を誤読してた
動作変わるのは最適化って言わねーよ!
>>696ってほんとに試したんか
730:デフォルトの名無しさん
17/05/27 22:47:16.42 aL4+kPgB0.net
>>706
Playgroundにコピペして試してみればいいだろ
731:デフォルトの名無しさん
17/05/27 22:49:30.62 SDTaiU/Z0.net
Write your code using the model given by copy-in copy-out, without depending on the call-by-reference optimization,
so that it behaves correctly with or without the optimization.
…最適化と言い張ってるがこれはひどい
732:デフォルトの名無しさん
17/05/27 23:01:24.62 aL4+kPgB0.net
このぐらいの最適化はやってくれた方がありがたい
参照渡しの方が確実にパフォーマンス上がるし、通常の使い方で副作用もない
副作用があるようなら書き方に問題があるだろ
inoutで受けた変数のオリジナルにアクセスするコードにワーニングぐらい出してくれたら
とも思うけど、まだそこまで面倒は見きれないんだろ
ただ、最適化の恩恵にあずかりたいなら、willSetなんかは入れない方がいいみたいだな
733:デフォルトの名無しさん
17/05/27 23:07:17.91 Hem7AZxu0.net
>>706
いや最適化だよ
参照渡しにしたとしても、外形的にcopy-in copy-outした場合と全く同じ動作をする場合にだけ、参照渡しに最適化される
ただ、>>696みたいなコード書くとその最適化の前提がぶっ壊れるから絶対するなとリファレンスでも言ってるだけで
リファレンスにはっきりやるなと書いてることをやって壊れたからってそれはプログラマの責任でしょ
まぁ将来的にownershipが入れば>>696みたいなコードもちゃんとコンパイルエラーにしてくれるようになると思うよ
734:デフォルトの名無しさん
17/05/27 23:47:08.68 7vlRlcaj0.net
willSetがあるとmutating funcもself自体がcopy-in copy-outになった
これもリファレンスのどこかにあるのかな
struct A{
var v = [Int]()
var onAppend: (()->())? = nil
mutating func f() {
v.append(1)
onAppend?()
}
}
do {
var a = A()
a.onAppend = { a.v.append(2) }
a.f()
print("willSetなし", a.v) // [1, 2]
}
do {
var a = A() {willSet{}}
a.onAppend = { a.v.append(2) }
a.f()
print("willSetあり", a.v) // [1]
}
willSetなし [1, 2]
willSetあり [1]
735:デフォルトの名無しさん
17/05/28 00:12:22.92 Kbiso++70.net
willSet/didSetの挙動が怪しすぎるな
バグなのかもな
736:デフォルトの名無しさん
17/05/28 08:47:45.67 tTxkySJm0.net
>>712
いや挙動的には予想通りだよ
didSetはともかく、willSetの方は呼ばれたコード内では「変更前のオリジナル変数」と「変更後のnewValue」が用意されてるから別の実体作って変更してる
想像だけどinout引数を持つ関数側はバイナリコードレベルでは常に参照で受取るようになっていて
willSetがある変数でmutating funcやinout渡しをすると、呼ぶ側が一時変数作ってそれを渡すコードを生成してると思う
var a = A() { willSet{ } }
a.f() //mutating func f()
↓
var a = A()
func a_willSet(_ newValue:A) { }
do {
var tmp = a
tmp.f()
a_willSet(tmp)
a = tmp
}
inoutの場合は a.f()とtmp.f() が f(&a)とf(&tmp)になるイメージ
737:デフォルトの名無しさん
17/05/28 09:31:38.11 o7LOyvX/0.net
この挙動を理解してなければ、structにwillSet/didSetを実装してパフォーマンスに意図しない影響を与える可能性があるな
738:デフォルトの名無しさん
17/05/28 11:21:48.67 6qJqAaY90.net
>>697
ないっしょ…
なぜSwiftとかいう自己満発展途上言語なんか使ってるかって言ったらApple様ご指定だからってだけだし
739:デフォルトの名無しさん
17/05/28 11:31:20.31 z3zgF0Nw0.net
mutatingはselfをinoutで渡す
a.f() // これは
A.f(&a)() // これと同じ
なので一般のinout引数と同様にmutatingメソッド内のselfもセマンティクス的にはcopy-in copy-out
ただmutatingが暗黙にselfをinoutで渡すって説明はリファレンスには見つけられなかった
リポジトリのdocsに放り込まれてる文書群ではしばしば言及されてるけど
740:デフォルトの名無しさん
17/05/28 12:29:40.83 o7LOyvX/0.net
気軽にプロパティ変えたつもりの1行で、コピーが3回も(うち2回は配列全体のコピー)発生するのね
structのwillSetは曲者だな
struct Weapon {
var name: String {
willSet { print("new wepon name = ¥(newValue)") }
}
}
struct Monster {
var name: String
var weapons: [Weapon] {
willSet { print("new weapons = ¥(newValue)") }
}
}
var monsters = [
Monster(name: "Goblin", weapons: [Weapon(name: "Knife")]),
Monster(name: "Orc", weapons: [Weapon(name: "Sword")]),
Monster(name: "Dragon", weapons: [])
] {
willSet { print("new monsters = ¥(newValue)") }
}
monsters[1].weapons[0].name = "Mace"
// output
/*
new weapon name = mace
new weapons = [Weapon(name: "Mace"]
new monsters = [Monster(name: "Goblin", weapons: [Weapon(name: "Knife")]), Monster(name: "Orc", weapons: [Weapon(name: "Mace")]), Monster(name: "Dragon", weapons: [])]
*/
741:デフォルトの名無しさん
17/05/28 12:30:23.95 o7LOyvX/0.net
クラスで実装すれば、wellSetあってもコピーはプロバティに対しての一回だけ
class Weapon {
var name: String {
willSet { print("new wepon name = ¥(newValue)") }
}
init(name: String) {
self.name = name
}
}
class Monster {
var name: String
var weapons: [Weapon] {
willSet { print("new weapons = ¥(newValue)") }
}
init(name: String, weapons: [Weapon]) {
self.name = name
self.weapons = weapons
}
}
var monsters = [
Monster(name: "Goblin", weapons: [Weapon(name: "Knife")]),
Monster(name: "Orc", weapons: [Weapon(name: "Sword")]),
Monster(name: "Dragon", weapons: [])
] {
willSet { print("new monsters = ¥(newValue)") }
}
monsters[1].weapons[0].name = "Mace"
// output
/*
new wepon name = Mace
*/
742:デフォルトの名無しさん
17/05/28 12:35:53.43 eqNgb5P3p.net
Swift初期にJavaScriptに似てるからWeb屋が参入してくるとか言ってた人もいたけど全然違うしSwiftはObjective-Cより仕様が複雑になってきたね
でもおかしなコードはコンパイラがビシバシ教えてくれるし仕様を詳しく知らなくてもとりあえずコードを書く事はできるかな?
743:デフォルトの名無しさん
17/05/28 22:04:52.22 ls5tm5z70.net
Swiftけっこう難しい
Objective-Cは形式張っていてコードがやたらと長くなるだけで実はそんなに難しくない
744:デフォルトの名無しさん
17/05/28 22:35:10.01 7/a46AkG0.net
>>720
俺もSwift難しい。
structにprotocol適用したり、protocol extensionとか。
745:デフォルトの名無しさん
17/05/28 22:44:58.49 ew7wH7J40.net
詰め込みすぎて開発者のスキルでコードが変わりすぎるのが難点
746:デフォルトの名無しさん
17/05/28 22:57:25.17 Y/jTFKWEd.net
>>720
C知ってればハードル高くないからなObjCは
747:デフォルトの名無しさん
17/05/28 23:22:08.09 o7LOyvX/0.net
そのCがハードル高いからな初心者には
748:デフォルトの名無しさん
17/05/28 23:28:56.75 6qJqAaY90.net
SwiftとCのどっちがハードル高いかって言ったらCとは言えないけどな
Cのシンタックスをベースにしてる言語は多いから、初学者にSwiftとC
どっちをやった方がいいかって言われたら間違いなくCだわ
749:デフォルトの名無しさん
17/05/28 23:30:24.66 o7LOyvX/0.net
初心者にポインターは結構ハードル高いと思うけど
あとメモリ管理にシビアな所とか
750:デフォルトの名無しさん
17/05/29 00:25:02.54 lFCv8yRy0.net
Cもわからんようなもやしエンジニアが増えると思うと先が思いやられる
ソフト屋もハードウェアに近いプリミティブな部分の理解は必要なんだけとな
そういう意味でCは高級アセンブラ的なバランスがちょうどいい
751:デフォルトの名無しさん
17/05/29 00:38:37.93 21264BYsa.net
>>726
ポインタが難しいって言ったって、結局ポインタ的なメモリの知識はあった方がデバッグでメモリ周り疑う疑わないに直結するしなぁ。。。
752:デフォルトの名無しさん
17/05/29 00:47:58.23 3RO08/qX0.net
でも今は簡単なゲーム作りたいとかなら特にポインタの知識なくても作れちゃうからなぁ
初心者にC言語でゲーム作ってだと難しいと思うけど、Swiftなら割と簡単
モグラたたきとかジャンケンゲーム程度なら初心者でも2,3日で作れるかも
753:デフォルトの名無しさん
17/05/29 00:57:45.02 21264BYsa.net
誰もポインタないと作れないなんて言ってない。
ポインタの知識はトラブった時にトラブルの原因の候補にメモリが上がるか?どう状態かを推測出来るか?ってのに直結する。
ポインタと言うか、メモリの構造を知らなけりゃトラブルの原因として候補にす�
754:迴繧ェらない。 下手すれば永延と原因分からないまま、プログラムは未完に終わる。
755:デフォルトの名無しさん
17/05/29 01:03:25.64 3RO08/qX0.net
そんなこと言い出したら究極的にはコンパイラの癖とかハードの特性とかまで知らないとデバッグできないことになる
初心者にそこまで求めるのは余りにも遠い道のりになる
756:デフォルトの名無しさん
17/05/29 01:19:59.07 21264BYsa.net
そこまで言わんが、初心者と言えどもCPUとメモリの仕組みは理解してからプログラミングは始めて欲しいものだが。
体験して見たいだけなら兎も角、プログラマになりたいんならね。
757:デフォルトの名無しさん
17/05/29 06:40:45.44 DGY6L2yw0.net
kotlin nativeがllvm対応してるらしいのでiosでもkotlin使えそう。
となればswiftはもういいかな。
758:デフォルトの名無しさん
17/05/29 07:01:38.32 L9ed4gjcp.net
フフってなった
昔、SwiftもLLVMだからどこでも動くって言ってたなぁ
まぁKotlinは頑張ってポーティングしてるようだから
実用性はさておき動くんだろうけど
759:デフォルトの名無しさん
17/05/29 08:51:21.58 A7rCPaLD0.net
>>722
C言語のソースも、人によって全然違うけどなぁ。
とくに、Headerファイルのマクロ定義によってソースの印象がガラッと変わる。
760:デフォルトの名無しさん
17/05/29 09:10:28.76 96NrxdYRd.net
>>735
Cと比較したらCのがやりたい放題に決まってるだろ…
関数をアドレス指定で直接コールできる言語やぞ…
比較対象がおかしいわ
761:デフォルトの名無しさん
17/05/29 10:41:09.25 M6frmmyd0.net
ポインタとか分からんレベルの人にはやりたい放題出来ないがんじがらめの世界の方がいい気はする
柔軟性はObjective-Cで安全性はSwiftなイメージ
762:デフォルトの名無しさん
17/05/29 11:13:19.98 A7rCPaLD0.net
>>733
Kotlin/Nativeなんてのがあるのね!
知らんかった。JVM無しで動くコードが作れるのかな?
763:デフォルトの名無しさん
17/05/29 11:14:56.30 A7rCPaLD0.net
It is not a fully functional release yet,
Kotlin/Nativeがどの程度動くのか?気になる。
764:デフォルトの名無しさん
17/05/29 11:27:53.51 trx2RJe/F.net
>>729
ポインタ分からないって人は、参照型の値型の違いが理解出来なくないか?
765:デフォルトの名無しさん
17/05/29 12:04:20.43 3RO08/qX0.net
参照型と値型の違いがわからなくても使い方さえ理解できれば簡単なアプリは作れるからな
ある程度の最適化はコンパイラがやってくれるし、ハードの性能も上がってるから、多少の冗長性は無視できる
C言語だとそうはいかない
ポインタを知らないとまずまともなアプリはつくれない
外部のライブラリを利用する場合もポインタの知識は必須になる
ポインタの理解が参照型の理解の助けにはなるだろうけど厳密にはポインタと参照型は同じものでもないし
766:デフォルトの名無しさん
17/05/29 12:14:04.16 idSzy2HYd.net
それは、ポインタを知らなくても使い方さえ覚えれば簡単なアプリは作れる、っていっても同じじゃないか?
767:デフォルトの名無しさん
17/05/29 12:33:55.33 3RO08/qX0.net
ポインタの場合は概念を理解しないで使い方だけ覚えるってのはちと無理がある
Swiftの参照型は概念をきっちり理解できなくても、大概動くものは作れるし、変なことやろうとしてもIDEやコンパイラが注意してくれる
768:デフォルトの名無しさん
17/05/29 13:11:45.84 96NrxdYRd.net
>>740
ポインタしらなくても挙動でわかるだろ
769:デフォルトの名無しさん
17/05/29 13:27:25.51 idSzy2HYd.net
>>744
じゃなくて、ポインタの概念を理解出来ない人は、参照という概念も理解出来ないって言う意味だけど
挙動で理解出来てるなら、それは理解出来る人だよ
770:デフォルトの名無しさん
17/05/29 13:29:35.62 96NrxdYRd.net
>>745
参照を理解できたからとポインタも理解できたとは言えない
大小が逆
771:デフォルトの名無しさん
17/05/29 13:38:22.24 3RO08/qX0.net
そもそも初心者は参照型だ値型だとあまり意識しないんじゃないか
意識しなくてもコードは書ける
Swiftならね
772:デフォルトの名無しさん
17/05/29 21:45:25.45 lFCv8yRy0.net
>>741
だからObjective-Cはいろいろと素晴らしいと考える人が少なくないんだと思うけどな
773:デフォルトの名無しさん
17/05/29 21:47:34.02 e8
774:ZpNhPJ0.net
775:デフォルトの名無しさん
17/05/29 21:59:32.56 HMZ0UBYT0.net
>>749
そんな本なくてもswiftの簡単版みたいなもんだから余裕でかける
776:デフォルトの名無しさん
17/05/30 01:08:42.87 Q1uksSWN0.net
iosもandroidも共通で言えることなんだけどさ、もう一段フレームワークが欲しい。どっちもuiライブラリ止まりで、
全体の管理を行う部分が開発者任せで、正直困る。一画面アプリ止まりならそれでもいいんだけどさ。
777:デフォルトの名無しさん
17/05/30 01:09:28.67 YGoyijxE0.net
???
778:デフォルトの名無しさん
17/05/30 01:21:48.80 zlRLzU390.net
>>751
例えば?
779:デフォルトの名無しさん
17/05/30 02:18:06.30 Q1uksSWN0.net
ステート管理だけで言えばreactのreduxみたいなやつとか。
あれってファイルの置き場所とかもある程度誘導されるから迷いが減るんだよね。
780:デフォルトの名無しさん
17/05/30 09:52:12.97 zOXcPiC1p.net
ソースファイルの置場所も公式に決まってないSwiftに何期待してるのか
まずはSwift Package ManagerとXcodeで共通化することから始めよう
781:デフォルトの名無しさん
17/05/30 10:07:35.91 LRk+Le9O0.net
俺もパッケージマネージャが複数あるのが好かんなぁ。
1. Carthage
2. CocoaPods
3. Swift Package Manager
俺は1.がxcodeprojへの変更が少なくて好みだ。
2.はxcodeprojをどう変更してるのかが、見えない。
782:デフォルトの名無しさん
17/05/30 10:49:53.98 hcHvAlDm0.net
CocoaPodsはオープンソースだからxcodeprojをどう変更してるかは見えるだろ
783:デフォルトの名無しさん
17/05/30 10:53:32.01 LRk+Le9O0.net
Swiftとはちょいと違う事で質問です。
UMLモデリングって最近でも使われますか?
使う目的は何でしょう?
1. すでにあるコードの解析
2. これから作成するコードの可視化
784:デフォルトの名無しさん
17/05/30 11:24:11.63 hcHvAlDm0.net
そんなこと聞いてどうすんの? と聞き返したくなるような質問すんな
皆が使ってるなら使ってみようかってことか
785:デフォルトの名無しさん
17/05/30 11:24:54.00 gxWnkgCCa.net
しかるべきスレへ行ってはどうか
786:デフォルトの名無しさん
17/05/30 12:41:12.92 8S4zHXFCd.net
>>758
モデリングのために決まってんだろ
787:デフォルトの名無しさん
17/05/30 13:35:34.23 MeRfIrpoM.net
>>755
まさにこれ。決めてほしい。
それかアップル自身が公式にリファレンスとなるアプリをオープンソースにしてほしい。
react-nativeだとf8appがそれっぽいが。
なんかそれなりの規模のオープンソースアプリないかな。
788:デフォルトの名無しさん
17/05/30 14:59:25.27 zOXcPiC1p.net
swift.orgのPackage Managerのページにゴミのようなサンプルはあるけど
自身(SPM)のことしか考えてないから、自分で作った方が良いだろうねぇ
Swift Package Manager
URLリンク(swift.org)
Package.swift作って、Sources, Testsディレクトリ作る
CocoaPods
URLリンク(guides.cocoapods.org)
Podfile作る, Sources/*.swiftを参照
Carthage
URLリンク(github.com)
Carfile作る, Sources/*.swiftを参照
Xcode
上の全部を適当にpodが作った.xcworkspaceのプロジェクトツリーに加える
789:デフォルトの名無しさん
17/05/31 11:13:03.77 9hyFYnrA0.net
qiitaのKotlin記事を読んでて出くわしたphrase。
Android アプリ開発者であれば普段から英語を読んでいると思いますし、平易な英語なので大きな問題はないと思います。
俺にはComputer関連の英語文章が難しく感じるのだけど、どうなんでしょう?
exressionを式だと理解するのに、随分時間がかかったと思う。
790:デフォルトの名無しさん
17/05/31 12:18:51.47 mlMZGH6Ha.net
和書にも専門用語は英訳も一緒に載ってること多いから違和感無かったけど、入門してすぐ洋書だとそう感じるかも。
791:デフォルトの名無しさん
17/05/31 12:45:27.84 9hyFYnrA0.net
たしかに!
順方向伝搬(forward propagation)って書いてあるね。和書には。
expressionを式、statementを文と訳すのは判ったけど、和書には「式文」
ってのが時々出て来て、これ何を翻訳したんだ?
と不安になる。
792:デフォルトの名無しさん
17/05/31 16:07:11.28 nyiBm3r5H.net
そんなあなたに
Regular Expression
はどう訳す
793:デフォルトの名無しさん
17/05/31 16:13:04.68 9hyFYnrA0.net
>>767
いつも良く使うマッチ式
794:デフォルトの名無しさん
17/05/31 16:16:42.72 9hyFYnrA0.net
regular = いつもの
例:regular customer = 常連、regular coffee = 日々よく飲むコーヒー
regular ¥= 正規 = formal, proper
795:デフォルトの名無しさん
17/05/31 16:19:06.25 9hyFYnrA0.net
正規表現って訳語は、誤訳だわぁ。
796:デフォルトの名無しさん
17/05/31 16:19:30.13 9hyFYnrA0.net
誤訳を永遠と使い続けるのは、よく無い。
797:デフォルトの名無しさん
17/05/31 16:25:25.52 nyiBm3r5H.net
>>770
石田晴久が糞って有名ですし
798:デフォルトの名無しさん
17/05/31 16:37:31.63 9hyFYnrA0.net
>>772
まあ、情報が入手しずらい時代に苦心して日本語を当てたって感じだ。
Microsoftの文書を読んで、まったく意味がわからんかったのを思い出さしてクレルわぁ。DAO ActiveX Library, RDO ActiveX Libraryに関しての記述を読んで、
さっぱり意味不明だった。和文も、英文も。
サンプルコードを見たら一発で理解できた。
799:デフォルトの名無しさん
17/05/31 19:53:48.08 3T0UNs5qd.net
>>771
じゃあ
リベンジ:復讐
を、なんとかしてよ。
あとfeatureをフューチャーって発音するのもなんとかして欲しい。
800:デフォルトの名無しさん
17/05/31 20:15:00.41 Iu1e43xk0.net
>>774
頭悪そ。
801:デフォルトの名無しさん
17/05/31 21:26:00.22 DggZESjQ0.net
>>750
Swiftより簡単なの?
802:デフォルトの名無しさん
17/05/31 21:33:41.18 Iu1e43xk0.net
>>750
知ったか
803:デフォルトの名無しさん
17/05/31 21:47:41.16 WiTkOt3Sd.net
>>776
果てしなく簡単
804:デフォルトの名無しさん
17/05/31 22:53:30.93 JH+W+dlz0.net
swiftが言語仕様固まらないうちにkotlinがios対応しちゃうな。
805:デフォルトの名無しさん
17/05/31 23:40:55.86 pEaTZtAB0.net
Swift使ってる自分が好きな人
806:デフォルトの名無しさん
17/06/01 08:38:33.85 gogTzzXkd.net
モダンな言語Swiftを使ってる最先端な自分
807:デフォルトの名無しさん
17/06/01 09:47:53.31 5viUjg+Pd.net
swiftは作る奴の思考によってパラダイムが変わるから他人のコードがストレスになる糞言語
いっそのことclassを消してしまえばいいわ
808:デフォルトの名無しさん
17/06/01 10:35:07.17 Mc77jWtu0.net
>>782
糞に見えるのなら、三流エンジニアだな。使いこなせない事を棚に上げて、悪態ツイテルだけにしか思えん。
一体どこが糞なんだ?
809:デフォルトの名無しさん
17/06/01 10:53:52.60 kPS6C5Z/0.net
SwiftとKotlinでちょっと遅延評価リストを比較した
■Kotlin
オンラインコンパイラ: URLリンク(try.kotlinlang.org)
val a = generateSequence(0){it+
810:1} //A 問題なし println("A: "+ a.take(10).toList() ) //B 問題なし println("B: "+ a.take(10).map{it*10}.toList() ) //C 問題なし println("C: "+ a.filter{3<it}.take(10).toList() ) //D 問題なし println("D: "+ a.map{it*10}.take(10).toList() ) //E 問題なし println("E: "+ a.map{it*10}.filter{50<it}.take(5).toList() )
811:デフォルトの名無しさん
17/06/01 10:54:14.25 AXJF1Amn0.net
swiftは言語仕様固まらないうちにAndroid対応しちゃうバカだからな
kotlinのios対応って何周遅れだよ...対応遅すぎる
812:デフォルトの名無しさん
17/06/01 10:55:55.93 kPS6C5Z/0.net
■Swift
オンラインコンパイラ: URLリンク(swift.sandbox.bluemix.net)
extension Sequence { var array:[Iterator.Element] {get{return map{$0}}} }
let a = sequence(first:0){$0+1}
//A 問題なし
print("A:", a.prefix(10).array )
//B 問題なし
print("B:", a.prefix(10).map{$0*10}.array )
//C 死ぬ
print("C:", a.filter{3<$0}.prefix(10).array )
//C-2 lazy付けたら動く
print("C:", a.lazy.filter{3<$0}.prefix(10).array )
//D 死ぬ
print("D:", a.map{$0*10}.prefix(10).array )
//D-2 lazy付けてもコンパイル不可
print("D:", a.lazy.map{$0*10}.prefix(10).array )
//E
print("E:", a.map{$0*10}.filter{50<$0}.prefix(5).array )
//E-2 lazy付加+分割で何とか動く
do {
let a2 = a.lazy.map{$0*10}
let a3 = a2.filter{50<$0}
print("E:", a3.prefix(5).array )
}
813:デフォルトの名無しさん
17/06/01 11:22:30.68 Mc77jWtu0.net
>>786
THX
無限個Sequenceを扱う時には、気をつけます。
814:デフォルトの名無しさん
17/06/01 12:01:04.94 5DFmWXv80.net
>>786
let a = sequence(first:0){$0+1}.lazy
でよくね
ここ書いてる時点で無限sequenceだってわかってるんだから
ambiguous云々言われるのは…まぁ…
815:デフォルトの名無しさん
17/06/01 13:13:36.56 5viUjg+Pd.net
>>783
日本語理解できないガイジ
816:デフォルトの名無しさん
17/06/01 13:17:57.99 EiP2TW+2d.net
たしかにこれはガイジ
理由書いてるレスに理由聞くとか新しすぎる
817:デフォルトの名無しさん
17/06/01 13:30:11.13 Mc77jWtu0.net
>>788
//print("D:", a.map{$0*10}.prefix(10).array )
print("D:", a.map{($0 as Int)*10}.prefix(10).array )
=> D: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
修正したらambiguous言わなくなったけど、なんでだ?
818:デフォルトの名無しさん
17/06/01 21:02:51.03 DEetJIxW0.net
スタイリッシュを装ってるが
ときどき地がでて$0とか$1とか書いちゃう田舎者
それがSwift
819:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/05 16:00:36.93 AJ9L3Zjp0.net
今夜Swift++発表か
820:デフォルトの名無しさん (ササクッテロル Sp3d-i1uu)
17/06/05 16:32:47.80 8WFwx/xcp.net
また新しい文法が増えるのか
821:デフォルトの名無しさん (スプッッ Sdea-esot)
17/06/05 17:46:21.52 mNvdXf0od.net
Swift+=1じゃないのか
822:デフォルトの名無しさん (ササクッテロリ Sp3d-+5QW)
17/06/05 18:51:21.00 SveFyKZdp.net
Swift4なんてなかった
823:デフォルトの名無しさん (スップ Sdea-EO1S)
17/06/05 19:31:26.86 3JnnQNM2d.net
>>795
だな
無駄に++構文無くしたからな
824:デフォルトの名無しさん (ワッチョイ d955-nAfx)
17/06/05 20:40:53.41 jJlkmHCz0.net
without Cという、表面的な自己満足を実現する言語仕様
という意味では成功してるかもなSwiftは
825:デフォルトの名無しさん (ワンミングク MM7a-sYLo)
17/06/06 09:11:21.70 qDrcxP3vM.net
See what’s next.
The new beta of Xcode 9 is now available,
and includes Swift 4 and SDKs used to build apps with the latest innovations and
powerful capabilities in macOS, iOS, watchOS, and tvOS.
おはギャーきたな
826:デフォルトの名無しさん (スップ Sd0a-EO1S)
17/06/06 09:21:00.69 Z7hLIrmcd.net
Swift4…。Apple正気か
827:デフォルトの名無しさん (ワンミングク MM7a-sYLo)
17/06/06 09:25:05.11 qDrcxP3vM.net
2017/05/26 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大
欠陥に気付いた時点から1年以内にITベンダーに通知すれば、通知後5年以内は修正や報酬の減額などを求めることできる
Swift3でシステム作って納品する
↓
iOSバージョンが12になる。Swift4が必須になる
↓
客がプロジェクトファイルからアップデート試す。Swift4の必須のエラーが出る。動作の不具合に気づく
↓
気付いた時点から1年以内に通知すれば、5年間無料保証ゲット
↓
つまりSwiftがアップデートするたびに、無償の修正作業を発生するということかな
828:デフォルトの名無しさん (ササクッテロリ Sp3d-c8bI)
17/06/06 09:57:12.15 LrtFpx4Mp.net
> iOSバージョンが12になる。Swift4が必須になる
ダウト
中途半端な知識でモノを言うもんじゃねぇよww
なお、小賢しいPMはSwiftバージョン上がる度に
最新のXcodeでビルドできないのはアポーのせいなんでwwwってメンテ工数をぶん取る模様
829:デフォルトの名無しさん (ワンミングク MM7a-sYLo)
17/06/06 10:07:42.01 qDrcxP3vM.net
それはお前が決めることじゃない。コンペで「今後欠陥に気付いてから5年間無料保証を請け負うお」を提案できる会社だけが仕事を取れることだけのこと
コンペで競争がおき、それを提案できる会社が出てくるから、それが慣習化していくよ。法でデフォルトで定められた無限保証をわざわざ有限保証にするバカはいない。
830:デフォルトの名無しさん (ワッチョイ 65ea-i1uu)
17/06/06 10:53:12.48 wPDXTWJN0.net
開発環境を変えてビルド出来なくなるのをソフトウェアの欠陥とは言わないよ
831:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/06 13:46:11.18 utAoocLg0.net
Xcode 9、リファクタリングとプロトコルのスタブ来たな
インデックス作成もサクサクになってる
GitHub統合とMarkdownエディタもいい感じ
832:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/06 16:11:39.52 utAoocLg0.net
DoubleWidthの実装がマージされた
URLリンク(github.com)
Int1024だって作れる
typealias Int128 = DoubleWidth<Int64>
typealias Int256 = DoubleWidth<Int128>
typealias Int512 = DoubleWidth<Int256>
typealias Int1024 = DoubleWidth<Int512>
833:デフォルトの名無しさん (ワッチョイ 25e3-zUMb)
17/06/06 20:23:51.33 mZslSucp0.net
また中途半端でトリッキーなもん作ってからに
834:デフォルトの名無しさん (ワッチョイ d9a9-qalp)
17/06/06 20:43:08.26 VnL+cFVq0.net
>>806
これなんか意味あるの?
835:デフォルトの名無しさん (ワッチョイ d9a9-qalp)
17/06/06 20:43:53.36 VnL+cFVq0.net
>>805
objc なみに軽くなった?
あとリファクタリングできる?
836:デフォルトの名無しさん (ワッチョイ fa8f-qNax)
17/06/06 20:54:56.54 kDjkRNjY0.net
無茶言うなよ
837:デフォルトの名無しさん (ワッチョイ d955-EO1S)
17/06/06 21:26:04.58 b/Jm2sx50.net
こんなことやってて意味あんの?
冗談抜きに自己満言語になってきたな
まじで日曜プログラマー専用言語だろもう…
838:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/06 22:18:30.88 utAoocLg0.net
>>808
オーバーフローしても計算続けられる
839:デフォルトの名無しさん (ササクッテロリ Sp3d-+5QW)
17/06/06 22:24:58.02 LrtFpx4Mp.net
最初から自己満足言語だから
そして、最初から驚くほどアポー信者が食いつかなかった
教祖様が亡くなるとここまで信仰心が薄れるとは思わなかったよな
ところでメモリ管理の文法と機能はどうなってるんだ
諦めたんかいな
840:デフォルトの名無しさん (ワッチョイ d955-nAfx)
17/06/06 22:26:08.72 b/Jm2sx50.net
>>813
さらに今となっては
841:Swift教祖のベジータ親父もいなくなったからな
842:デフォルトの名無しさん (ワッチョイ 2a6c-OTNS)
17/06/06 22:27:50.89 utAoocLg0.net
>>813
ownershipのことならはじめから4がターゲットではない
布石は色々打ってるけど
843:デフォルトの名無しさん (ササクッテロリ Sp3d-c8bI)
17/06/06 23:23:01.91 LrtFpx4Mp.net
>>815
うせやろ・・・4はownershipのABIだけ決めて文法/機能は申し送りなのかいな
確かにStage 2のGoalsに明記はないけどさ、それだけがSwift4の楽しみだったのになぁ
とりあえず、3からの文法互換性はないはずなのでそれで遊ぶか
4 stableまでに転々とする文法と戯れてるわ・・・
844:デフォルトの名無しさん (ワッチョイ 2997-Vwti)
17/06/07 15:47:45.81 AtFlxxBS0.net
皆さんは、マウスorトラックボール、何を使ってますか?
どれが使いやすいのか…
845:デフォルトの名無しさん (ワッチョイ b96c-O++a)
17/06/07 16:06:10.70 R71ACYeB0.net
>>817
Logicoolの無線マウス(non bluetooth) 5 button
846:デフォルトの名無しさん (ワッチョイ 2997-Vwti)
17/06/07 19:00:25.23 AtFlxxBS0.net
>>818
やはりボタンが多い方が効率的ですかね?
847:デフォルトの名無しさん (ワッチョイ 65ea-Muw2)
17/06/07 19:25:41.92 coTyNxun0.net
WWDCなのに特に盛り上がってないのは公式のGitHubで既に今後の新機能などが公表されてるから?
848:デフォルトの名無しさん (ワッチョイ fa8f-V2gy)
17/06/07 19:46:55.11 NxYBwGCp0.net
盛り上がってるだろ
お前の知らない所で
849:デフォルトの名無しさん (ブーイモ MM0a-V3oX)
17/06/07 21:32:10.30 ytp+ypYWM.net
URLリンク(rakuma.rakuten.co.jp)
850:デフォルトの名無しさん (ブーイモ MM0a-V3oX)
17/06/07 21:32:54.12 ytp+ypYWM.net
買った人いる?
851:デフォルトの名無しさん (ワッチョイ 2997-Vwti)
17/06/07 23:08:32.64 AtFlxxBS0.net
削除されたらしいぞ?
852:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/08 00:38:04.54 uRfPT8Nu0.net
What's New in Swift
URLリンク(developer.apple.com)
ビデオ来てる~
853:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/08 02:02:17.69 bhRxW4Kj0.net
語尾は伸ばさない
854:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/08 03:01:54.72 uRfPT8Nu0.net
はい~
855:デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
17/06/08 13:30:06.35 7UFSdEc7p.net
ちがう!!もっと真剣になるのだ!
(知名度はあるけどリアルタイム世代はもう少ない)
856:デフォルトの名無しさん (ワッチョイ e511-lMIK)
17/06/08 13:48:25.97 9TvsnZIC0.net
>>821
どこで盛り上がってんの?
857:デフォルトの名無しさん (ワッチョイ 2311-W7ul)
17/06/08 15:48:31.51 MyrAc3uI0.net
昔はQiitaとかSlideShareとかで真っ先に投稿するやついたじゃん。
ああいう意識高い系が減ってきたらもう終わりだな。
Swiftなんてもう仲間内でワイワイやるだけの言語になっちゃったじゃん。
858:デフォルトの名無しさん (スプッッ Sd51-jiBQ)
17/06/08 16:05:21.61 SSbqo8UTd.net
iOS/macOS開発者をまとめて仲間内と表現するならそうだろうけど、その範囲を仲間内と言いだしたら、終わってない言語なんて無くないか?
859:デフォルトの名無しさん (JP 0H99-TzKE)
17/06/08 16:19:58.85 oPuedIYNH.net
>>830
そういう時期はもう過ぎた感じ
860:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/08 16:35:53.75 bhRxW4Kj0.net
いつまでも昔の事を懐かしんでばかりもいられねーぜ
861:デフォルトの名無しさん (ワッチョイ 2311-W7ul)
17/06/08 21:42:14.79 MyrAc3uI0.net
本来なら
「Androidの第一級開発言語としてSwiftが採用された!」とか
「Web業界でSwiftに注目が集まってる!」とか
「基幹システムでSwift採用の動きが?!」とか
そういう話が出始める時期なのに、肝心なABIが固まってないから後手に回されてる。
それがSwiftの現状。
862:デフォルトの名無しさん (スップ Sd03-0APj)
17/06/08 22:17:29.82 bONJW6wZd.net
abiってなんですか?
863:デフォルトの名無しさん (ササクッテロリ Sp71-+V7x)
17/06/09 10:17:12.02 2Ut1GWuyp.net
>>834
その時期ももう過ぎてる
864:デフォルトの名無しさん (ワッチョイ e511-sMjV)
17/06/09 14:46:27.58 VWf4RLmS0.net
>>835
Application Binary Interface
ABIが安定してないと以前のSwiftでビルドしたライブラリ(バイナリ)を
最新のSwiftでビルドしたアプリから呼べなかったりする
Swift4で安定化する予定だったけど延期された
865:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/09 23:51:31.69 jmMh9R660.net
iosアプリ作るしか能がない言語より
サーバサイドもお得意なkotlinのほうが良い。と思える。
866:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/09 23:57:34.70 gHl3UGQu0.net
Swiftもサーバサイド作れるだろ
お得意かどうかは知らんけど
867:デフォルトの名無しさん (ワッチョイ bd55-cAR5)
17/06/10 00:09:45.18 EfK23cou0.net
>>813
いや逆だろ…
真のアポー信者はSwiftなんか見向きもしない
信者ならJobsがNeXTで導入したObjective-Cを選ぶ
868:デフォルトの名無しさん (ワッチョイ 05ea-lMIK)
17/06/10 00:26:48.06 HxRjgs+d0.net
>>314
俺はベジータがいなくなった時点でそうとう梯子を外された感が強かった。お前が抜けてどうするんだと。
869:デフォルトの名無しさん (ワッチョイ 0be3-D9zB)
17/06/10 00:27:58.22 LZ2lcVsd0.net
アニメでそういう当てつけをしてるのか
870:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/10 01:03:05.37 HcYDlJQ/0.net
ラトナー今でもコアチームの一員だし、メーリスに出没するし、たまにプロポーザルのレビューマネージャとかもやっとるよ
871:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/10 01:21:03.27 Rd047FLv0.net
>>839
テイラースイフトだっけ?
kotlinはjavaの資産を使えるけど
swiftはゼロから作んなきゃいけない上に言語仕様も破壊的変更を辞さないから選択肢はないに等しい
872:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/10 01:44:36.70 iLxYgc210.net
テイラースイフトはアメリカの歌手だバカ
873:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 07:01:25.41 9Y1uaI8o0.net
>>845
身長185cmのデカイ女歌手だわさ。
874:デフォルトの名無しさん (ワッチョイ 0be3-D9zB)
17/06/10 07:31:11.58 LZ2lcVsd0.net
テイラースイフトが次に何をすればいいかわからないという意味不明な理由で
突然引退表明したのは
Appleへのなんかの恫喝だったのか
875:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 07:38:33.40 9Y1uaI8o0.net
>>844
破壊的変更も、納得感のあるものだったら、許容されるんちゃうかなぁ。
特にSwift言語仕様も変わるけど、UIKitの冗長なセレクタ表記が改善されて、
俺は、今んところ納得してるけど。
876:デフォルトの名無しさん (ワッチョイ 0bdb-0APj)
17/06/10 08:12:47.95 sZ6VtFAu0.net
つかabi安定まではβなので
swiftは4からがステーブル
877:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 08:16:54.23 9Y1uaI8o0.net
>>844
Kotlin Nativeってのもあるんだろ?
こいつは、Java資産使えんだろ?
878:デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
17/06/10 08:29:55.68 gUDVFMBtp.net
>>840
原理派:ObjCこそ至上、Swiftはクソ!
新進派:ObjCは古い、Swiftサイコー!
中立派:ObjCもSwiftもイイ!
Apple教もいろんな派閥があるけど新しいモノを兎角推進する新進主義が昔は主流だったのになぁ
iPhoneのディスプレイが4:3から16:9になった時の信者の掌返しはステキだった
あれだけAndroidの16:9ディスプレイはクソと言ってたのに即座に意見変えてやがんの
SwiftはObjCの資産が使えるけど何か
879:問題あるの?
880:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 08:37:08.06 9Y1uaI8o0.net
>>851
840は知らないだけの人なんでしょ。
Bridging Header書けば、ObjC使えるのに。
881:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 08:40:39.77 9Y1uaI8o0.net
>>852
ObjCで作ったクラスをSwiftが継承するってのもできるのかな?
882:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/10 08:46:33.15 9Y1uaI8o0.net
>>853
多分できそう。
逆にSwiftで作ったクラスをObjCで継承ってのも条件付きでできるらしい。
その条件ってのは、NSObjectを継承しておくこと。
883:デフォルトの名無しさん (ワッチョイ bd55-cAR5)
17/06/10 08:55:31.53 EfK23cou0.net
>>851
問題あるっつうか、Objective-Cの資産使う必要あるならわざわざSwift使う必要がないって思う
884:デフォルトの名無しさん (ワッチョイ bd55-zulR)
17/06/10 09:15:44.06 EfK23cou0.net
>>852
>>853
>>854
ところでこのやり取りはどういうことなのかな
同じPCを複数の人で共有してる人たちなのかな
885:デフォルトの名無しさん (ワッチョイ 0391-jiBQ)
17/06/10 11:51:05.65 GrQ3Xe9Q0.net
>>856
多分独り言
886:デフォルトの名無しさん (ワッチョイ 05ea-lMIK)
17/06/10 12:20:40.40 HxRjgs+d0.net
こわっ
887:デフォルトの名無しさん (ワッチョイ 2311-W7ul)
17/06/10 12:54:43.34 hjCkgTll0.net
ただの自己回答じゃね?
Twitterの自己返信みたいな使い方しちゃったんだろ。
888:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/10 15:23:23.67 Rd047FLv0.net
>>845
そういう名前のフレームワークがあるんだよアホ。
889:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/10 15:48:27.13 Rd047FLv0.net
>>848
問題はない。保守がしんどいだけで
890:デフォルトの名無しさん (アウアウウー Sa99-dRjq)
17/06/10 19:06:16.86 TAQSbKXRa.net
なにそれ、テーラー展開用のフレームわ~く?
891:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/11 10:09:49.55 BuXbRrFL0.net
izqui/Taylor
URLリンク(github.com)
892:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/11 10:44:29.60 tmILBbbd0.net
swift 2.0で開発止まってんじゃねーか
893:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/11 11:06:27.75 BuXbRrFL0.net
だからswiftでweb開発なんてって事
894:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/11 11:42:58.68 zYiizf9w0.net
サーバサイドならPerfectってフレームワークがある
895:デフォルトの名無しさん (ササクッテロリ Sp71-n3I0)
17/06/11 12:11:31.16 VsqhFcB6p.net
IBMが何かウェブ向けフレームワークをOSSで提供してくれる・・・
そんなふうに考えていた時期が俺にもありました
896:デフォルトの名無しさん (ワッチョイ a36c-AV8e)
17/06/11 12:19:05.50 tmILBbbd0.net
URLリンク(github.com)
スター順でならべると
Perfect ★11,652 URLリンク(www.perfect.org)
vapor ★9,904 URLリンク(vapor.codes)
Kitura ★5,767 URLリンク(www.kitura.io)
Swifton ★2,055
swifter ★2,022
Zewo ★1,671
ウェブフレームワークはPerfect、Vapor、Kituraが三傑やね、いまんとこ
897:デフォルトの名無しさん (ワッチョイ bda9-LdUt)
17/06/11 15:09:35.80 BuXbRrFL0.net
サーバサイドにswiftを採用するメリットって何かあるの?
毎年python3みたいなことしてるんでしょ
898:デフォルトの名無しさん (ワッチョイ bd55-zulR)
17/06/11 15:13:05.99 4QA65TrY0.net
SwiftはAppleがゴリ押してるから存在しているだけの言語だと何度言ったら(以下略
899:デフォルトの名無しさん (ワッチョイ 838f-dRjq)
17/06/11 15:18:19.53 mK41LGi90.net
>>870
略さずに最後まで書けよズボラ野郎!
900:デフォルトの名無しさん (ワッチョイ 0bdb-sY+Q)
17/06/11 15:41:34.56 APfeVpAp0.net
>>870
abiが安定したとしてswiftより良い言語なんてないよ!
901:デフォルトの名無しさん (ワッチョイ 5b6f-D9zB)
17/06/11 15:52:44.44 3FpcyRKx0.net
ここだけの話Kotlinやっとけばいいことあるぞ
902:デフォルトの名無しさん (ワッチョイ 7d7e-ypaW)
17/06/11 17:12:11.91 pREpTAR10.net
>>869
それは違う。
903:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/15 16:56:41.86 mVk/sB5T0.net
お前ら、まだSwiftで消耗してるの?
フリルをSwift 3.0移行した際に対応が大変だった箇所
URLリンク(in.fablic.co.jp)
904:デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
17/06/15 19:04:37.24 kFR7Ieffp.net
宣伝乙
905:デフォルトの名無しさん (ワントンキン MMaa-EcN4)
17/06/16 09:31:12.11 v6knFPg7M.net
Swiftは4で苦労し5になってさらに苦労する。
おそらく6も7も出るだろうな。
毎年ごくろうさまです
906:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/16 09:34:01.67 Z4YDsJ5H0.net
>>877
JavaScriptは、ES3で苦労しES5になってさらに苦労だ。
ES6(ES2015), ES7(ES2017)でも同じなんだなぁ。
毎年ご苦労。
907:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/16 09:35:16.81 Z4YDsJ5H0.net
Java8への移行は破壊的だったので、Java6, Java7の人は苦労してるんだろうなぁ。
908:デフォルトの名無しさん (スップ Sd7a-ie7X)
17/06/16 09:52:18.35 XLEAF0GDd.net
何を破壊されたって?
909:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/16 10:12:36.58 9j5+HHnT0.net
破壊されたのは俺の心だよ
910:デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
17/06/16 10:19:11.52 MC5LwP34p.net
Java8はABI相当にあたるbyte codeフォーマット変わったんじゃなかったけ?
まぁ昔からちょいちょい変わってるから今さら騒ぐことでもない
911:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/16 10:58:51.50 IdvUD0Qs0.net
>>878
いやいや、ブラウザ依存のクライアントサイドはそんなに頻繁に移行しねえよ。
開発環境レベルでバージョン移行強制してくるAppleとは違う。
こいつらサポートコンパイラ平気で切り捨てるじゃん。
本当バカだよ。AppleもSwift推してるお前らも。
912:デフォルトの名無しさん (ワッチョイ 7a6c-z4yC)
17/06/16 16:48:02.48 ZxleQuqQ0.net
4への移行はクソ楽だけどな
913:デフォルトの名無しさん (ササクッテロロ Spab-fUjK)
17/06/16 19:06:19.00 KyUpje1ap.net
楽かどうかしゃなくて毎回移行が発生してる事自体がクソだし評価基準が低すぎるんじゃないか
914:デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
17/06/16 21:53:14.84 uNQVqIhb0.net
>>878
なんか破壊的変更あったっけ?
下位互換性を確保したままだからvarとか残ってるし
915:デフォルトの名無しさん (ササクッテロレ Spab-O+YK)
17/06/16 23:05:44.86 uEZP+i89p.net
下位互換考えなくてもvarは消さないだろ
916:デフォルトの名無しさん (ブーイモ MM97-yV4N)
17/06/17 13:26:55.34 NJSuCMN1M.net
JSはトランスパイラかますことによって互換性への責務は
トランスパイラ側に負わすことができるようになったので開発者側には影響がなくなった
今周りでJSで互換性に困ってるやつおらんやろ?
Swiftは真似できんけどあまり真似して欲しくはないがな
今はうまく行ってるけど責務が分散しすぎると再び暗黒時代が到来するかもしれんからな
917:デフォルトの名無しさん (ワッチョイ 136f-98cR)
17/06/17 13:41:27.85 /vA8NV250.net
Swift作ってる連中頭おかしい
918:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/17 13:45:24.41 gKqJeiga0.net
変でいい、変でなきゃダメだ…狂ってなきゃ、逸脱してなきゃ悪魔は殺せない
919:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/17 16:24:46.39 H3LE0Ews0.net
そしてまたジョブス不在の暗黒時代を繰り返す。
920:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/17 17:14:38.56 gKqJeiga0.net
そしてまたジョブズが復帰
921:デフォルトの名無しさん (ササクッテロリ Spab-mFeN)
17/06/17 17:31:48.49 MZFg2U9ip.net
Xcode 9のリリースノートを今更読んでたら
> New Build System
> Xcode 9 includes a new build system written from scratch in Swift.
ってあってワロタ、なんて無茶なことを・・・
まだデフォルトでは無効になってるようだけど面白そうだから誰か人柱になって常用してみてくれよ
あと、ObjCへのSwift機能のバックポートは今回はないのなー
いつも何らかバックポートしてたからそこそこ楽しみにしてたので残念だ
922:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/17 18:18:31.38 H3LE0Ews0.net
リファクタリング機能にObjC -> Swiftの変換機能入ってるらしいな。
923:デフォルトの名無しさん (ワッチョイ 2755-acG4)
17/06/17 19:04:06.90 K9qvepHC0.net
Swiftを使う必要性
924:デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
17/06/17 22:31:16.17 254ieyWi0.net
>>892
まじで初のAI CEOとして復活してほしいわ。アップルまじで終わりそうじゃないか
925:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/18 11:51:51.46 5AZFASrW0.net
メモ
var family = "👨"
family += "¥u{200D}👩"
family += "¥u{200D}👧"
family += "¥u{200D}👦"
print(family)
926:デフォルトの名無しさん (ワッチョイ baea-fUjK)
17/06/18 12:54:19.07 a6KDZwUX0.net
>>896
会社がでかくなり過ぎたんかねぇ
それでも傲慢な舵取りがいればうまくやれてただろうけど
927:デフォルトの名無しさん (スッップ Sdda-ie7X)
17/06/18 12:58:55.68 gEuoDnOrd.net
あいぽん出るまでも十分に落ちぶれてたけどな
またもとに戻ってきただけやん?
928:デフォルトの名無しさん (アークセー Sxab-+aAl)
17/06/18 14:33:51.23 JELBB552x.net
今のiPhoneのデザインと種類、iPadの種類見たら発狂するだろうな
929:デフォルトの名無しさん (ワッチョイ aee3-2WTa)
17/06/18 15:42:22.77 7Dc/+OM00.net
ジョブスいてもアップルウォッチとかやってたし
スマホを普及させようって思惑があったからジョブス担ぎ出してたんじゃないの
突破力あっても先のネタがないときはダメなんじゃね
930:デフォルトの名無しさん (ワッチョイ 877e-MpGW)
17/06/19 01:43:58.06 E2TKZOHI0.net
米Yahooの凋落ブリを見れば、Appleだって盤石では無いかもしれん。
Hardwareやってるからって安心じゃ無いと思う。
Kodakだって、Sum Microsystemsだって、今は無いし。
931:デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
17/06/19 02:23:53.66 2IBzsU2g0.net
最近はfacebookとmsを見直した。
ライブラリとか開発環境という意味で。
appleもjetbrainにide外注してもいい頃なのかも。
932:デフォルトの名無しさん (ワッチョイ 8bdb-ie7X)
17/06/19 02:43:40.88 +dhODesl0.net
ないわ
933:デフォルトの名無しさん (ワッチョイ 2746-C0RR)
17/06/19 07:25:43.76 ZJvPGQy00.net
Swiftを使う必要性
934:デフォルトの名無しさん (ワッチョイ ea8f-5VRQ)
17/06/19 09:47:36.08 XZD/3rJT0.net
Swiftを使わない現実逃避性
935:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/19 10:46:35.06 zE2VOzv50.net
>>906
俺も現実逃避して、RubyでCrowler作ってる。
そんでもって、苦手なJavaScriptをいじってみた。
SwiftやRubyのClassがJavaScriptではコンストラクタ関数なのね。
Classの継承みたいな事もできるのね。
Chef.prototype = new Person();
上記は食堂のシェフさんは、Person()コンストラクタを継承している、ってのを意味する。
ここ2週間でJavaScriptの苦手意識が和らいだ。
936:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/19 10:48:38.23 zE2VOzv50.net
>>897
合体文字だね。
グラフィーム・なんちゃらとかいうヤツ。
一文字が、4つのUnicode Code Pointの合成だってのがビックリ。
937:デフォルトの名無しさん (ワッチョイ bb11-ueIM)
17/06/19 12:00:57.83 7W009+1i0.net
プログラムから合体エントリがあるかどうかって分かんないのこれ・・・
URLリンク(swift.sandbox.bluemix.net)
938:デフォルトの名無しさん (ワッチョイ c76c-wt6g)
17/06/19 13:00:03.61 zE2VOzv50.net
>>909
u{200D}ゼロ幅接合子、なんてのを初めて知った。
一種の制御文字なのか?
939:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/20 17:37:25.95 lZP
940:WgdLT0.net
941:デフォルトの名無しさん (ササクッテロリ Spab-Kq/3)
17/06/20 19:20:46.18 Efx6+h5Up.net
釣られクマー
942:デフォルトの名無しさん (ワッチョイ ba11-Xb/Y)
17/06/20 19:48:42.24 lZPWgdLT0.net
すまん誤爆した
943:デフォルトの名無しさん (ワッチョイ aee3-2WTa)
17/06/20 23:39:45.33 Be6KQlsF0.net
いいこと知った
今度からDBのキーにしよう
944:デフォルトの名無しさん (ワッチョイ 27a9-Qihp)
17/06/21 02:23:36.15 CAzvCkNY0.net
swift学んでもどんどん仕様変わるし、kotlinでいいや。jsのトランスパイラとしても使えて汎用性も高い