X



プログラミング言語Swift Part4 [無断転載禁止]©2ch.net
0001名称未設定 転載ダメ©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
0042名称未設定 (ワッチョイ 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はまだ次の仕事のことは決めていないようだ。

戻ってきてもええんやで〜
0043名称未設定 (ワッチョイ 3737-WRcl)2017/06/25(日) 09:04:35.12ID:KsKw1pax0
Swiftの迷走ぶりを見てれば分かるが仕事のやり方が好き勝手やって中途半端だから解雇されたんだろ
0047名称未設定 (JP 0H3f-ZLad)2017/06/26(月) 18:33:16.24ID:M1cASHGjH
>>45
配列を使った計算で
SwiftとC言語では、1000倍違うらしい
開発者Jukka Suomelaが言ってる
0048名称未設定 (ワッチョイW f74c-q/w5)2017/06/27(火) 08:53:24.36ID:7Ns0B3520
高級言語だからそういうもんじゃないの?
C配列使いたかったらファイル分けてCで書くとか、めんどくさいけどSwift内でポインタ使うとかすれば…
0049名称未設定 (ワッチョイ 37d9-dFnT)2017/06/27(火) 09:07:07.12ID:6ZYMWSH90
>>47
早く処理したい部分を、C言語で書いてBridging-Header作って取り込むとか、
modulemapファイルを作ってimportするとかすれば良い。
0050名称未設定 (ワッチョイ ff5c-dFnT)2017/06/27(火) 09:09:41.45ID:k2RQ6SWo0
ゾッとするね
0052名称未設定 (ワッチョイ 37d9-dFnT)2017/06/27(火) 11:01:36.04ID:6ZYMWSH90
>>50
相当ストレス溜まってるね。
職場で上手く行ってない見たいね。
0054名称未設定 (ワッチョイ bfdd-WRcl)2017/06/27(火) 20:55:35.69ID:pNkPwliw0
おぷちまいずの有無でこんなに差があるってどうしたことやねんとは思うな
「こんなに」ってれべるじゃねーって感じw
0055名称未設定 (ワッチョイW bf87-q/w5)2017/06/28(水) 06:07:00.53ID:dI1ZRAl10
そのページコメント欄の
Learn OpenGL ESってひとの書き込みが
わかりやすいかと。
言うほど差は無くないか?
0056名称未設定 (ワッチョイ bfdd-WRcl)2017/06/28(水) 13:22:05.20ID:Vq2TH+MW0
その人のはオプティマイズ有りきでしか言ってね?オプティマイズの有無がというのではないだろう
0058名称未設定 (ワッチョイ bfdd-WRcl)2017/06/28(水) 18:19:34.12ID:Vq2TH+MW0
って、>>53の最もいいねwって付いているのに及び付けてるのに言いに行けば?
何言ってんの?頭大丈夫?と思われるだけだと思うがw
0059名称未設定 (ワッチョイ 9fd9-Tszu)2017/06/28(水) 21:50:10.42ID:feiqJCoM0
ド素人かな
-Ononeはデバッグ用であって速さなんか誰も求めてないぞ?
遅くなってもいいから色んなデバッグ用に有用な情報を埋め込むモードだぞ?
頭大丈夫?
0060名称未設定 (ワッチョイ bfdd-WRcl)2017/06/28(水) 23:43:55.56ID:Vq2TH+MW0
>>59
-O 自体はオプションであってなければコンパイルできないわけじゃないぞ?玄人さん
ちなみにちゃんとしたデバッグオプションは別にあるけどな

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

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

Web Assembliesにllvmのコードが使われるって聞きました。
なんの事かよく知らんですけど、ブラウザで3Dゲームできるんだってねぇ。
0073名称未設定 (ワッチョイ 2dd9-ddzC)2017/06/30(金) 16:30:38.81ID:uEaqeql60
>>72
情報処理試験、Java選択してラッキーで合格した。
危なかった。
0079名称未設定 (ワッチョイ 6d89-QA6g)2017/07/03(月) 19:56:16.13ID:Oe7cPjto0
Obj-C、ワンポイント・レッスン

メソッド定義
(戻値)Keyword1:(型)arg1 Keyword2:(型)arg2 Keyword3:(型)arg3
メソッド呼出
[レシーバー Keyword1:arg1 Keyword2:arg2]
0080名称未設定 (ワッチョイ 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
0081名称未設定 (ワッチョイ 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
0082名称未設定 (ササクッテロリ Sp71-yTFi)2017/07/03(月) 20:24:07.40ID:ipKiHhaqp
これは老害ですわ
なんでこんな古いObjCの記述をするんだよw

Modern Objective-Cを学び直すか、ObjCを捨ててSwiftを学ぶべきだな
0083名称未設定 (ワッチョイ 5d3e-ddzC)2017/07/03(月) 20:25:55.43ID:OHa8N9Mz0
昔覚えた内容のまま勉強してなさそう
0084名称未設定 (ワッチョイ 6d89-QA6g)2017/07/03(月) 21:11:40.36ID:Oe7cPjto0
>>82
じゃぁ、Modern Objective-Cを教えて!
0085名称未設定 (ワッチョイ 6d89-QA6g)2017/07/03(月) 21:16:53.75ID:Oe7cPjto0
Adopting Modern Objective-C
こんなん、見つけた。
0087名称未設定 (ワッチョイ 62df-8IVh)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
0088名称未設定 (ワッチョイ 2dd9-ddzC)2017/07/04(火) 08:46:53.91ID:SYB/170I0
>>87

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

それから、_messageってインスタンス変数が宣言されてない様だが、
@propertyで暗黙的に宣言されるって事か?
0092名称未設定 (ワッチョイ 2dd9-ddzC)2017/07/04(火) 09:18:17.07ID:SYB/170I0
>>87
>@property NSString *message;

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

これがModern Objective-Cなのか?
0094名称未設定 (ワッチョイW 09ef-HpRm)2017/07/04(火) 20:33:53.81ID:OZ38R0xE0
新概念!が出るたびに言語仕様に直接組み込んでは
後で仕様グダグダになる【モダン】より
なんでも「クラスの仕様です」で済ますObj-Cの方が
実はスマートなんじゃないかとずっと
0097名称未設定 (ワッチョイ 82d9-rlqC)2017/07/04(火) 22:55:14.38ID:yMyy0KAw0
Fast Enumだの@synthesisだのドット記法だの@リテラルだのBlocksだのinstancetypeだの...
ObjCほど後から後から醜いツギハギだらけの言語も無いと思うがね
0101名称未設定 (ササクッテロラ Spcb-yr7v)2017/07/06(木) 08:24:03.45ID:wwtqdPx9p
>>97
その都度、新概念!素晴らしい!って絶賛続けた信者はスゴイ
Swiftも新言語!素晴らしい!って受け入れてくれればこうはならなかったろうに
0106名称未設定 (ワッチョイ c73e-29Ea)2017/07/24(月) 13:42:45.73ID:0gmw+sp20
C++のfriend相当とか、Objective-Cのprotected相当のアクセス指定が欲しいな…
0108名称未設定 (ワッチョイ 4fd9-C+ox)2017/08/02(水) 10:03:45.80ID:U0+1Pe9L0
>>107
Deployment Targetを10.6にしてやれば良いんじゃない?
そすれば、Mavericksどころかその前までOKかも。
0111名称未設定 (ワッチョイ 9789-xbpo)2017/08/14(月) 19:01:32.69ID:IYYDr/y20
>>110
Apple IDを2つ作るって事?
Developer用Apple IDと、non-Developer用Apple ID2つ作ってる人は多いのでは?
0113名称未設定 (ワッチョイ 733e-MmNF)2017/09/01(金) 22:58:50.70ID:AsewW5Hc0
可変個の引数から別の可変個引数に、可変個扱いのまま渡す方法ってありますか?

func f(_ args: Any...) {
  sub(args) //これだと引数1個扱い
}
func sub(_ args: Any...) {
  
}
0114名称未設定 (ワッチョイ 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]) {
  
}
0116名称未設定 (ワッチョイ 733e-MmNF)2017/09/02(土) 06:14:40.94ID:OjeSc+FO0
>>115
ありがとうございます。
Cのva_list用で、可変個を可変個で、ってものではなさそうですね。
0117名称未設定 (ワッチョイ 9163-b06s)2017/11/16(木) 19:00:05.10ID:aijA5I6o0
UIApplication.shared.isNetworkActivityIndicatorVisibleはiPhone Xでは表示されないんかな?
0118名称未設定 (ワッチョイ bd3e-b06s)2017/11/16(木) 23:42:02.51ID:34jOvPxv0
表示されないっぽい
代替表示用してくれても良さそうなものを…
0119名称未設定 (ワッチョイ bd3e-b06s)2017/11/16(木) 23:42:52.24ID:34jOvPxv0
用して→用意して
0120名称未設定 (ワッチョイ 07d1-5Bhd)2017/11/25(土) 22:29:47.69ID:IlS9zeHP0
Macの市販アプリってGUIの表示がアプリ毎に違ってるけど
あれってMacの標準GUIの見た目だけカスタマイズしてるの?
それともGUIの仕組み自体を自前でプログラムで作ってるの?
0121名称未設定 (ワッチョイW 5fcf-YPpG)2017/11/26(日) 20:24:01.52ID:ybDI8cNy0
swiftでかいてるならだいたいカスタマイズ
unityとかなら全部てづくりかも
0126 【中吉】 【84円】 (ワッチョイ 6f3e-76Te)2018/01/01(月) 13:25:54.42ID:nJ/vr14C0
言語仕様という点で日本語書籍でこれより詳解なのある?
0134名称未設定 (ワッチョイ bbd9-H65A)2018/01/05(金) 15:26:35.72ID:9i83wet40
Swift4 変更点

で、検索したら満足できる記事がヒット
0135名称未設定 (ワントンキン MMa3-ur/e)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)
0136名称未設定 (ワッチョイ dbec-TSwL)2018/01/18(木) 13:25:42.19ID:SWQdnWJ60
Appleの審査がウザいのは同意だが、少なくともSwiftって言語自体はよくできてると思うんだがな
0140名称未設定 (ワッチョイ 2587-1pyd)2018/01/19(金) 23:34:06.49ID:lHaNd0KF0
市場の影響やら色々あってやはりクロスプラットフォームが検討される

そこそこのアプリならCordova(TypeScript)、ゲームならUnity(C#)
Xamarin(C#)、Multi-OS Engine(Java / Kotlin)、Kotlin/Nativeとかもあって
Swiftは立ち位置が辛くなりつつある
0141名称未設定 (ワッチョイ db00-TSwL)2018/01/20(土) 00:25:28.94ID:L5ZieUsF0
GoogleがSwiftの開発者引き抜いてAndroidアプリもSwiftで開発出来るようにする
って噂があったけど、あれどうなったんだろうな

少し期待してるんだが
レスを投稿する


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