プログラミング言語Swift Part4 [無断転載禁止]©2ch.net

1名称未設定 転載ダメ©2ch.net(8級) (ワッチョイ 33a8-bj6g)
垢版 |
2017/01/19(木) 03:18:15.58ID:YIGkvQUZ0

iBooks:
The Swift Programming Language
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
Using Swift with Cocoa and Objective-C
https://itunes.apple.com/jp/book/using-swift-cocoa-objective/id888894773?mt=11

ドキュメント:
The Swift Programming Language
https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/
Using Swift with Cocoa and Objective-C
https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/
Swift Standard Library
https://developer.apple.com/reference/swift


http://swiftdoc.org/
https://swift.org/
https://developer.apple.com/swift/blog/

関連スレ
http://echo.2ch.net/test/read.cgi/tech/1476758084/l50

過去スレ
http://potato.2ch.net/test/read.cgi/mac/1408762479/
http://anago.2ch.net/test/read.cgi/mac/1401736921/
http://anago.2ch.net/mac/kako/1401/14017/1401736249.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/06/06(火) 10:27:03.96ID:tGhupVez00606
>>35
勝手に独自仕様付けるなってやっていたしな
2017/06/06(火) 12:18:27.41ID:PX9Ti6s700606
Swift4が出たね。
3とソースレベルの互換を保つという話だったが,
コンパイラーに互換モードが付いただけなの?
2017/06/06(火) 12:35:10.97ID:sHKlFOu8a0606
互換を気にする時期か
人呼んでタイム互換
2017/06/06(火) 13:24:04.56ID:h/8J/UMp00606
五感を研ぎ澄ませ
本能に身を委ねろ
神の御心のままに
40名称未設定 (テトリス b9d9-O++a)
垢版 |
2017/06/06(火) 15:59:50.29ID:Uwd++cP400606
>>37
Swift.orgのdownloadページを見てみたが、Swift4のRelease版は無いのだが?
2017/06/06(火) 16:47:26.71ID:dZfORQaPd0606
>>38
おしおきだべー
42名称未設定 (ワッチョイ b73e-dFnT)
垢版 |
2017/06/25(日) 06:41:00.37ID:v+ubsv1N0
Swiftの開発者が、わずか6ヶ月でTeslaを去る
ttp://jp.techcrunch.com/2017/06/21/20170621swift-creator-departs-tesla-after-just-six-months/
> 「結局、Teslaは私にはあまり合っていなかったことがわかりました」と彼は言っている。
> Lattnerはまだ次の仕事のことは決めていないようだ。

戻ってきてもええんやで〜
2017/06/25(日) 09:04:35.12ID:KsKw1pax0
Swiftの迷走ぶりを見てれば分かるが仕事のやり方が好き勝手やって中途半端だから解雇されたんだろ
2017/06/25(日) 11:53:21.40ID:HdXQ3J1fH
配列の欠点、未だに直してない
クソ言語だからなぁ
2017/06/25(日) 13:51:34.38ID:x2Yx1oQP0
どんな欠点?
2017/06/26(月) 14:56:22.84ID:smijogTs0
Lattner(IT土方)くびか
2017/06/26(月) 18:33:16.24ID:M1cASHGjH
>>45
配列を使った計算で
SwiftとC言語では、1000倍違うらしい
開発者Jukka Suomelaが言ってる
2017/06/27(火) 08:53:24.36ID:7Ns0B3520
高級言語だからそういうもんじゃないの?
C配列使いたかったらファイル分けてCで書くとか、めんどくさいけどSwift内でポインタ使うとかすれば…
49名称未設定 (ワッチョイ 37d9-dFnT)
垢版 |
2017/06/27(火) 09:07:07.12ID:6ZYMWSH90
>>47
早く処理したい部分を、C言語で書いてBridging-Header作って取り込むとか、
modulemapファイルを作ってimportするとかすれば良い。
50名称未設定 (ワッチョイ ff5c-dFnT)
垢版 |
2017/06/27(火) 09:09:41.45ID:k2RQ6SWo0
ゾッとするね
2017/06/27(火) 09:58:52.74ID:0l3fzKLUp
JNI使うKotlinディスってんの?
52名称未設定 (ワッチョイ 37d9-dFnT)
垢版 |
2017/06/27(火) 11:01:36.04ID:6ZYMWSH90
>>50
相当ストレス溜まってるね。
職場で上手く行ってない見たいね。
2017/06/27(火) 17:14:15.57ID:Hr6JyBjm0
>>47
これ?
https://stackoverflow.com/questions/24101718/swift-performance-sorting-arrays

なんか全く違うこと書いてる気がするんですけど
2017/06/27(火) 20:55:35.69ID:pNkPwliw0
おぷちまいずの有無でこんなに差があるってどうしたことやねんとは思うな
「こんなに」ってれべるじゃねーって感じw
2017/06/28(水) 06:07:00.53ID:dI1ZRAl10
そのページコメント欄の
Learn OpenGL ESってひとの書き込みが
わかりやすいかと。
言うほど差は無くないか?
2017/06/28(水) 13:22:05.20ID:Vq2TH+MW0
その人のはオプティマイズ有りきでしか言ってね?オプティマイズの有無がというのではないだろう
2017/06/28(水) 15:02:06.17ID:feiqJCoM0
え?標準のオプティマイズ無しでパフォーマンス語って何の意味があるの?
2017/06/28(水) 18:19:34.12ID:Vq2TH+MW0
って、>>53の最もいいねwって付いているのに及び付けてるのに言いに行けば?
何言ってんの?頭大丈夫?と思われるだけだと思うがw
2017/06/28(水) 21:50:10.42ID:feiqJCoM0
ド素人かな
-Ononeはデバッグ用であって速さなんか誰も求めてないぞ?
遅くなってもいいから色んなデバッグ用に有用な情報を埋め込むモードだぞ?
頭大丈夫?
2017/06/28(水) 23:43:55.56ID:Vq2TH+MW0
>>59
-O 自体はオプションであってなければコンパイルできないわけじゃないぞ?玄人さん
ちなみにちゃんとしたデバッグオプションは別にあるけどな

どうも、オプティマイズの意味がわかってなさそうにしか見えないな。デバッグ用って言い切ってしまうあたり、すげえな自称ど素人じゃない人はw
(ちなみに一般的にオプティマイズするとほげほげな場合もまあ稀にあるとかないとかw)

てか、なにをオプティマイズありきに必死なの?オ
プティマイズ有無でこんな差があるのは珍しすぎる、いったいなんなんだ?という技術的w興味は普通わくだろうと思うんだがな、自称ど素人じゃない人なら尚更
ただ、それだけだよ?
2017/06/29(木) 00:20:19.33ID:lD0R4OzI0
良くある最適化のトラブルとしては、基本的なインライン展開なんかでさえ期待通りに動かなくなるケースはあるから、デバッグというか、問題の切り分けに最適化なし。で走らせてみる必要がある。ってのは別に間違ってないと思うんだけど。
Swiftがどういうステップで機械語を作ってるか知らないけど、配列操作の話題については、ループの最適化とか、並列処理への展開とか、するしないで激烈に性能差が出るのも、まあ、そんなものだと思うし。
どの辺が問題なのかよくわかんない。
2017/06/29(木) 00:59:43.51ID:+CkROhDl0
何も分かってなさそうなやつが技術的興味とか笑かすわ
63名称未設定 (スプッッ Sdc2-OatX)
垢版 |
2017/06/29(木) 08:04:31.07ID:i/TjNHL0d
生成されるllvmコードを比較すりゃ良いだけ
2017/06/29(木) 08:16:07.02ID:3xD8aBqp0
>>63
llvmコード 読めるのか
すげーな
2017/06/29(木) 12:13:37.96ID:6R9S/rjX0NIKU
release設定ではデフォルトでオプティマイズ有りだしドキュメントにもオプティマイズしろって書いてあるし
逆にオプティマイズしたらデバッガがトレースできなくなるからdevelopビルドはデフォではオプティマイズされてない。
だからSwiftでreleaseするにはオプティマイズ有りきが前提でしょ
2017/06/29(木) 12:16:52.34ID:5wTQh4SOpNIKU
あれは全然人間が読めるコードじゃん、、、
むしろ、嗜みとして読めるようになっとけよ
2017/06/29(木) 13:35:36.43ID:3xD8aBqp0NIKU
>>66
すげーな
例えばllvmコードでFizzBuzz問題を書くとどんな感じになるの?
2017/06/29(木) 15:40:29.67ID:5wTQh4SOpNIKU
swiftでFizzBuzz問題のコード書いてemit-llvm-irとかでダンプしれ
その環境もないなら知らんわ
69名称未設定 (ニククエ 2dd9-ddzC)
垢版 |
2017/06/29(木) 15:52:53.03ID:k3Vsu0VT0NIKU
>>68
>emit-llvm-ir
ir = intermidiate representationなのね

Web Assembliesにllvmのコードが使われるって聞きました。
なんの事かよく知らんですけど、ブラウザで3Dゲームできるんだってねぇ。
2017/06/29(木) 19:08:15.98ID:3xD8aBqp0NIKU
>>68
「llvm fizzbuzz」でググったら出てきたわ
2017/06/30(金) 15:53:23.24ID:tKeIdFOUp
おう、良かったな。これでお前もLLVMコード読めるようになったじゃん。
すげーな
2017/06/30(金) 16:15:43.80ID:/Gd3ljh80
情報処理試験でCASL選択してたから余裕だったわ
73名称未設定 (ワッチョイ 2dd9-ddzC)
垢版 |
2017/06/30(金) 16:30:38.81ID:uEaqeql60
>>72
情報処理試験、Java選択してラッキーで合格した。
危なかった。
2017/06/30(金) 18:41:30.72ID:4ILxZYiVd
英語ができないから困った。
2017/07/02(日) 17:41:34.20ID:3QihPFXU0
>>49
だからさ、Cに頼るならObj-Cでよくね?
2017/07/02(日) 18:14:11.56ID:teNLnf+A0
Obj-Cは臭いし
2017/07/02(日) 19:30:18.59ID:wNTg6Zs00
swift使ってる奴のニセモノ感
2017/07/02(日) 21:41:02.03ID:teNLnf+A0
Obj-C使ってる奴の老害感
79名称未設定 (ワッチョイ 6d89-QA6g)
垢版 |
2017/07/03(月) 19:56:16.13ID:Oe7cPjto0
Obj-C、ワンポイント・レッスン

メソッド定義
(戻値)Keyword1:(型)arg1 Keyword2:(型)arg2 Keyword3:(型)arg3
メソッド呼出
[レシーバー Keyword1:arg1 Keyword2:arg2]
80名称未設定 (ワッチョイ 6d89-QA6g)
垢版 |
2017/07/03(月) 20:03:10.18ID:Oe7cPjto0
Obj-Cワンポイント
クラスの定義
@interface MyClass: NSObject {
NSString* message;
}
-(void)setMessage:(NSString*) str;
-(NSString*)message;
-(void)printMessage;
@end
クラスの実装
@implementation MyClass
-(void)setMessage:(NSString*) str {
message = str;
}
-(NSString*)message {
return message;
}
-(void)printMessage {
NSLog(@“%@“, message);
}
@end
81名称未設定 (ワッチョイ 6d89-QA6g)
垢版 |
2017/07/03(月) 20:14:27.49ID:Oe7cPjto0
Obj-Cワンポイント
インスタンス変数
@interface MyClass: NSObject {
NSString* message; // インスタンス変数
}
// インスタンス変数のプロパティ化
@property NSString* message;
@end
プロパティの実装
@implementation MyClass
@synthesize message;
@end
2017/07/03(月) 20:24:07.40ID:ipKiHhaqp
これは老害ですわ
なんでこんな古いObjCの記述をするんだよw

Modern Objective-Cを学び直すか、ObjCを捨ててSwiftを学ぶべきだな
83名称未設定 (ワッチョイ 5d3e-ddzC)
垢版 |
2017/07/03(月) 20:25:55.43ID:OHa8N9Mz0
昔覚えた内容のまま勉強してなさそう
84名称未設定 (ワッチョイ 6d89-QA6g)
垢版 |
2017/07/03(月) 21:11:40.36ID:Oe7cPjto0
>>82
じゃぁ、Modern Objective-Cを教えて!
85名称未設定 (ワッチョイ 6d89-QA6g)
垢版 |
2017/07/03(月) 21:16:53.75ID:Oe7cPjto0
Adopting Modern Objective-C
こんなん、見つけた。
2017/07/03(月) 21:21:52.45ID:kyA3jQmf0
最寄りのObjCスレをお訪ね下さい
2017/07/03(月) 21:24:06.77ID:Ws9FB70U0
#import <FrameWork/lib.h>
@interface MyClass : SuperClass
@property NSString *message;
- (void)printMessage;
@end

#import “MyClass.h”
@implementation MyClass
- (void)printMessage
{
NSLog(@“%@“, _message);
}
@end
88名称未設定 (ワッチョイ 2dd9-ddzC)
垢版 |
2017/07/04(火) 08:46:53.91ID:SYB/170I0
>>87

@synthesize message;
って不要なのか?

それから、_messageってインスタンス変数が宣言されてない様だが、
@propertyで暗黙的に宣言されるって事か?
2017/07/04(火) 08:54:22.69ID:b7D9LWA40
スレチを続けてる奴は老害というより単なるガイジだな
2017/07/04(火) 08:54:57.93ID:Qxx0eL4C0
>>88
そうだよ、古いなあw
91名称未設定 (ワッチョイ 5d3e-ddzC)
垢版 |
2017/07/04(火) 09:15:51.10ID:m/Gv5Z480
こっちでやれ

Objective-C [ObjC part:8.1];
http://mevius.2ch.net/test/read.cgi/tech/1414816517/
92名称未設定 (ワッチョイ 2dd9-ddzC)
垢版 |
2017/07/04(火) 09:18:17.07ID:SYB/170I0
>>87
>@property NSString *message;

@property (copy)NSString *message;
って書きかえろ!とwarningが出た。

これがModern Objective-Cなのか?
2017/07/04(火) 19:38:15.12ID:yMyy0KAw0
mutable/immutableをクラス分けでしか表現できない残念モダンなObjC
2017/07/04(火) 20:33:53.81ID:OZ38R0xE0
新概念!が出るたびに言語仕様に直接組み込んでは
後で仕様グダグダになる【モダン】より
なんでも「クラスの仕様です」で済ますObj-Cの方が
実はスマートなんじゃないかとずっと
2017/07/04(火) 21:06:00.57ID:9wEk0DKE0
ずっと?
2017/07/04(火) 22:11:03.46ID:Qxx0eL4C0
たいして変わんねえよ
2017/07/04(火) 22:55:14.38ID:yMyy0KAw0
Fast Enumだの@synthesisだのドット記法だの@リテラルだのBlocksだのinstancetypeだの...
ObjCほど後から後から醜いツギハギだらけの言語も無いと思うがね
2017/07/04(火) 23:37:51.97ID:GHKbda4D0
最初からCとオブジェクト機能を糊で貼り合わせたつぎはぎですしおすし
2017/07/05(水) 00:26:25.39ID:n9UY77Jq0
ObjectiveCを基準にすれば、他のだいたいのものは良いものだ。
2017/07/05(水) 03:23:30.19ID:tWDskeeGa
ずっとを最後に置くのはJ-Pop
2017/07/06(木) 08:24:03.45ID:wwtqdPx9p
>>97
その都度、新概念!素晴らしい!って絶賛続けた信者はスゴイ
Swiftも新言語!素晴らしい!って受け入れてくれればこうはならなかったろうに
2017/07/15(土) 10:59:18.56ID:f8adSER/M
DelphiかPysonで頼む
2017/07/17(月) 10:59:26.96ID:JU0JC70W0
>>98
おれはむしろそれが強みだと思ってるけどな
Cのソースがそのまま使えるなんて他言語ではないだろ
2017/07/17(月) 13:44:12.30ID:FFG/PowU0
NSObjectの上にCのソース貼るだけでもうクラスとして取り回しできるしな
2017/07/17(月) 13:53:18.01ID:JU0JC70W0
それをわかってくれるかぁ ゜*。(*´Д`)。*°
106名称未設定 (ワッチョイ c73e-29Ea)
垢版 |
2017/07/24(月) 13:42:45.73ID:0gmw+sp20
C++のfriend相当とか、Objective-Cのprotected相当のアクセス指定が欲しいな…
2017/07/30(日) 00:31:14.82ID:VamqXWED0
今のswiftで書いたアプリってMavericksではもう動かせんの?
108名称未設定 (ワッチョイ 4fd9-C+ox)
垢版 |
2017/08/02(水) 10:03:45.80ID:U0+1Pe9L0
>>107
Deployment Targetを10.6にしてやれば良いんじゃない?
そすれば、Mavericksどころかその前までOKかも。
2017/08/04(金) 20:34:31.27ID:gDYUh1090
mozc for iOS使おうと思ったら、日本語の変換候補が出てこない…(泣)
どうしたらいいんだよ…
2017/08/13(日) 13:03:17.45ID:0l+ExbA30
appstoreって2つのアカウント作って別名で登録してもいいの?
111名称未設定 (ワッチョイ 9789-xbpo)
垢版 |
2017/08/14(月) 19:01:32.69ID:IYYDr/y20
>>110
Apple IDを2つ作るって事?
Developer用Apple IDと、non-Developer用Apple ID2つ作ってる人は多いのでは?
2017/08/14(月) 20:51:18.74ID:DAjkqjQm0
>>111
2つのサークル別々に開発して作者名をかえたいの
113名称未設定 (ワッチョイ 733e-MmNF)
垢版 |
2017/09/01(金) 22:58:50.70ID:AsewW5Hc0
可変個の引数から別の可変個引数に、可変個扱いのまま渡す方法ってありますか?

func f(_ args: Any...) {
  sub(args) //これだと引数1個扱い
}
func sub(_ args: Any...) {
  
}
114名称未設定 (ワッチョイ 733e-MmNF)
垢版 |
2017/09/01(金) 23:18:07.75ID:AsewW5Hc0
補足
Array版を作るしかない?

func f(_ args: Any...) {
  sub(args)
}
func sub(_ args: Any...) {
  sub(args)
}
func sub(_ args: [Any]) {
  
}
2017/09/02(土) 00:56:49.48ID:15pBsg3N0
withVaListを使えばできるのかもしれないけど
Array版作ったほうが良さそう
https://stackoverflow.com/a/29401619
116名称未設定 (ワッチョイ 733e-MmNF)
垢版 |
2017/09/02(土) 06:14:40.94ID:OjeSc+FO0
>>115
ありがとうございます。
Cのva_list用で、可変個を可変個で、ってものではなさそうですね。
117名称未設定 (ワッチョイ 9163-b06s)
垢版 |
2017/11/16(木) 19:00:05.10ID:aijA5I6o0
UIApplication.shared.isNetworkActivityIndicatorVisibleはiPhone Xでは表示されないんかな?
118名称未設定 (ワッチョイ bd3e-b06s)
垢版 |
2017/11/16(木) 23:42:02.51ID:34jOvPxv0
表示されないっぽい
代替表示用してくれても良さそうなものを…
119名称未設定 (ワッチョイ bd3e-b06s)
垢版 |
2017/11/16(木) 23:42:52.24ID:34jOvPxv0
用して→用意して
120名称未設定 (ワッチョイ 07d1-5Bhd)
垢版 |
2017/11/25(土) 22:29:47.69ID:IlS9zeHP0
Macの市販アプリってGUIの表示がアプリ毎に違ってるけど
あれってMacの標準GUIの見た目だけカスタマイズしてるの?
それともGUIの仕組み自体を自前でプログラムで作ってるの?
121名称未設定 (ワッチョイW 5fcf-YPpG)
垢版 |
2017/11/26(日) 20:24:01.52ID:ybDI8cNy0
swiftでかいてるならだいたいカスタマイズ
unityとかなら全部てづくりかも
2017/12/10(日) 02:08:33.85ID:ugNCn7SFp
OpenGLとかMetal使ってるなら手作りするかそれ用のGUIライブラリ使うやろ
2017/12/29(金) 11:52:17.54ID:rll8YAgo0
今年も来た

詳解Swift第4版 荻原剛志(著)
https://www.amazon.co.jp/dp/B078ML9XZM/
2017/12/31(日) 09:59:48.55ID:gJX6c+E8M
第3版、まだ読みきってないのに
2018/01/01(月) 12:35:56.74ID:+6cLyIH40
詳解Swiftっていまいち詳解じゃないよね
載ってないこと多すぎ
126 【中吉】 【84円】 (ワッチョイ 6f3e-76Te)
垢版 |
2018/01/01(月) 13:25:54.42ID:nJ/vr14C0
言語仕様という点で日本語書籍でこれより詳解なのある?
2018/01/01(月) 13:52:43.36ID:L4dz/sdf0
Apple公式の奴を翻訳してくれたらそれで十分なんだけどな
あれ結構分かりやいいし
2018/01/01(月) 14:23:40.44ID:+6cLyIH40
>>126
ないな
日本語では一番・詳解Swift
って書名なら正しい
2018/01/01(月) 14:24:10.89ID:+6cLyIH40
間違えた
2018/01/01(月) 17:10:11.61ID:KvUlUoyq0
お、今回はKindle版も同時発売か
でも固定レイアウトなのね
2018/01/01(月) 17:11:31.53ID:ee2U5jcop
買い替えじゃなくてアップデートされるなら電子版買いたいな
2018/01/02(火) 18:40:27.20ID:uwzsrovu0
>>127 それがあれば一番だね

今回はiBooksStoreにも出てるよー
なぜかKindle版よりちょっと高いけど
2018/01/02(火) 19:35:40.27ID:8V3beYLz0
本読むくらい熱心なら、変更内容に加えて
経緯から議論まで追える最強のリストを読んでいった方が良い
https://apple.github.io/swift-evolution/

英語直が無理ならChromeのページ翻訳使えば良いし
134名称未設定 (ワッチョイ bbd9-H65A)
垢版 |
2018/01/05(金) 15:26:35.72ID:9i83wet40
Swift4 変更点

で、検索したら満足できる記事がヒット
2018/01/18(木) 10:05:10.01ID:F5hIKVS5M
iPhoneアプリの開発者離れが起きている。

アプリ提出の審査が理不尽で不公平になってしまって、iPhoneアプリの開発者離れが起きている。
アンドロイドにはKotlinが出てきて開発者が増えている。

Guideline 4.2 - Design - Minimum Functionality

アップルのGuideline 4.2の連発で簡単なアプリはもう提出しても審査には通らない。まだアンドロイドの方が通る。
簡単でなく多機能なアプリでも4.2を連発してくる。もはや作為的やっているとしか言いようがない。

開発者は開発情報のみなもとだった。それを閉め出してからiosの勢いがなくなった。
今からiphoneアプリやってもまず4.2で通らない。審査で落とされる。簡単な機能だけのアプリはまずリジェクトされる。
ちなみに複雑なアプリでも同じようなことが起きている。Rssリーダーのようなアプリでも機能が簡単すぎるといわれリジェクトされている。
アップルは信用できない。これは確か。ころころ方針を変える。昨日まで審査に通ったアプリが、今日から通らなくなるというのが普通にある。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
レスを投稿する

16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況