X



Swift part11 [無断転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 2b11-WRiT)
垢版 |
2017/06/28(水) 17:58:29.74ID:KUDOoNV30
WWDC2014で発表されたAppleの新言語Swiftについて語りましょう

関連スレ

プログラミング言語Swift Part4
http://egg.2ch.net/test/read.cgi/mac/1484763495/

[SDK]iPhoneアプリ開発初心者質問箱48[touch][iPad]
http://egg.2ch.net/test/read.cgi/mac/1484217623/

Xcode part14
http://egg.2ch.net/test/read.cgi/mac/1476190499/

Swiftアンチスレ part1
http://mevius.2ch.net/test/read.cgi/tech/1458491343/


前スレ
Swift part10
http://mevius.2ch.net/test/read.cgi/tech/1487552413/

スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0870デフォルトの名無しさん (ワッチョイ 17a7-GfG9)
垢版 |
2018/04/20(金) 14:05:50.29ID:44jSDzB50
>>867
ciってなんだっけ?
CLIのこと?コマンドは普通に当然あるね。swiftでインタラクティブ(?)なとか。というか、コマンドだけじゃないのかな。Kituraもおすすめ開発環境はXcodeでmacOSでだったような気がしないでもない
0874デフォルトの名無しさん (ワッチョイ 17a7-GfG9)
垢版 |
2018/04/20(金) 20:10:03.38ID:44jSDzB50
>>871
なるほど、そんなんあったのか。知らんwどうも勉強になった
だが、それだとちょっと文的に変かな。知っててかな?

>>872
それっぽいんだけど、コマンドでええやーん、もしくは正しく(?)なCLIと。なら悩まないのにw REPL?また謎なw
0876デフォルトの名無しさん (ワッチョイ 17a7-GfG9)
垢版 |
2018/04/20(金) 20:28:01.17ID:44jSDzB50
>>872
ああ、REPLってそういうことか。REPLにciと表せられるナニかあるのかと思った
そのREPLななが swift(コマンド)でインタラクティブ(?) ね。まあわかってるだろうけど、いちおう
0877デフォルトの名無しさん (ワッチョイ 17a7-GfG9)
垢版 |
2018/04/20(金) 20:43:35.68ID:44jSDzB50
>>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
0879デフォルトの名無しさん (ワッチョイ 1723-8E8L)
垢版 |
2018/04/21(土) 16:31:20.13ID:Zke6MJB80
知らないなら黙っててください
0884デフォルトの名無しさん (ワッチョイ e3b3-7MKD)
垢版 |
2018/04/22(日) 19:29:48.14ID:bBR6Oib80
知らなきゃ別に今知ればいいし知らないやつを馬鹿にしても生産的じゃ無いよね。

ちなみに答えが無いってことはciをやるには未だにmacがいるってこと?
react-nativeの方が便利だな。これはもう
0885デフォルトの名無しさん (ワッチョイ 17a7-GfG9)
垢版 |
2018/04/22(日) 20:20:53.75ID:FSKGQtgf0
Swiftというか何らかの言語がというのとは関係なくね?
コンパイラ等の基本的な開発環境とは別のことだろう。やるとしたらEclipse周りな人々とか、その辺りのOSS界隈だろうな
0891デフォルトの名無しさん (ワッチョイ ff96-iqNU)
垢版 |
2018/04/23(月) 15:42:30.99ID:B+G5EdcD0
          ____
       / \  /\ キリッ
.     / (ー)  (ー)\    < ciやるにはMacが必要
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |
     \     `ー’´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一””””~~``’ー–、   -一”””’ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ   <だっておwww
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)   
| / / /     |r┬-|    | (⌒)/ / / //       
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/      
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー’´      ヽ /    /
 |    |   l||l 从人 l||l      l||l 从人 l||l  バンバン
 ヽ    -一””””~~``’ー–、   -一”””’ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0893デフォルトの名無しさん (ワッチョイ 0bb3-hWI/)
垢版 |
2018/04/23(月) 20:25:55.66ID:HCf1mURQ0
いまどきMacじゃないやつは人じゃないというか
ただの犯罪者予備軍だしな。
サイバー犯罪で捕まって「いつも暗い部屋でパソコンカタカタやってて
いつかはこうなると思ってました」と証言される存在。
0894デフォルトの名無しさん (アウアウカー Sa43-9Dln)
垢版 |
2018/04/23(月) 20:44:35.06ID:snLtrZOza
いまどきMac持ってるやつは人じゃないというか
ただの犯罪者予備軍だしな。
サイバー犯罪で捕まって「いつも暗い部屋でパソコンカタカタやってて
いつかはこうなると思ってました」と証言される存在。
0897デフォルトの名無しさん (ワッチョイ 0e8a-wgWx)
垢版 |
2018/04/24(火) 16:22:03.29ID:v7CSxy8v0
VSCode使いやすいしな。
0904デフォルトの名無しさん (アウアウカー Sadd-wPGC)
垢版 |
2018/04/27(金) 20:44:42.93ID:oJis0HV7a
CPU変わったって言語仕様まで変える必要なかろう
0907デフォルトの名無しさん (アウアウカー Sadd-wPGC)
垢版 |
2018/04/30(月) 17:54:40.54ID:NF3/uQW/a
インラインアセンブラはC言語に組み込んだ反則技みたいなものなので他の言語は是非とも実現しないでおいて欲しい。
0909デフォルトの名無しさん (ワッチョイ 933e-39yo)
垢版 |
2018/05/01(火) 10:14:42.05ID:OUwlkFDk0
OSというかファイルシステムに仕掛けあってMac/iOSは
複数のバイナリ実行ファイルをパッケージの中の別ディレクトリで持てるからなぁ
PPC/intel時代とか32bit/64bitバイナリとか。
0910デフォルトの名無しさん (ワッチョイ 5b76-JoRN)
垢版 |
2018/05/01(火) 16:06:29.62ID:M+3XKBR00
パッケージの中の別ディレクトリじゃないよ。ひとつの実行ファイルの中で。実行ファイルに限らずFrameworkなどなども。Mach-Oっつうて。より古いのもディレクトリで分けではないな
0911デフォルトの名無しさん (アウアウエー Sa23-cUH7)
垢版 |
2018/05/01(火) 16:33:58.96ID:hs19eTspa
フーン(ω)
0913552 (ワッチョイ db21-KzCP)
垢版 |
2018/05/01(火) 21:00:42.03ID:LNs8frCc0
インラインアセンブラはまれに触る事があった。Linuxからの移植位なのでレジスタ退避の違い位しか分からない。

当時はgcc拡張で書いてた記憶があるけど、今clangだとどう書くんだろう?
0914デフォルトの名無しさん (ワッチョイ 71b3-txLX)
垢版 |
2018/05/02(水) 09:08:10.24ID:rm9ZE9J90
なんか最近審査時間めっちゃ短くね
GWだからか
0915デフォルトの名無しさん (ブーイモ MM19-C4HX)
垢版 |
2018/05/11(金) 08:05:07.81ID:YzDAqhh0M
Swiftでのc配列取り扱いについて教えてください。

CoreaudioにAudioChannelLayoutというStructがありますが
これはcの可変長配列AudioChannelDescriptionを含む定義になっています。
SwiftではStructは値型なのですが、Structが持つ配列が
(AudioChannelDescription)となっていて、単一値のtuppleとして
importされており、一つ目の値しかコピーされないのではないか、
可変長structとして扱えていないのではないかとかんがえました。

swiftにおけるc配列のstructはどの様に扱われているのでしょうか。
Data型なりNSData型なりでbacking storeを確保して扱うのが
安全でしょうか?
0916デフォルトの名無しさん (ワッチョイ 2da7-2PF3)
垢版 |
2018/05/11(金) 09:37:57.63ID:Ak2M/G2h0
単一値って書き間違いかと思うが、内包する要素が単一型のTuple=ある型の可変配列でしょ。それでうまくCの可変StructをSwiftにマップ/ブリッジされていると思うけど

初期化/作成は、
init(mChannelLayoutTag: AudioChannelLayoutTag, mChannelBitmap: AudioChannelBitmap, mNumberChannelDescriptions: UInt32, mChannelDescriptions: (AudioChannelDescription))
で、作成可能のようだけど。Cだと自分で必要バイト数計算してのallocしてのをこの中でやってるでしょ。コピーもこれ使えかな
0917デフォルトの名無しさん (ワッチョイ 55b3-k37M)
垢版 |
2018/05/12(土) 11:23:56.18ID:NQvTiPFY0
定義見たけど AudioChannelDescription[1] が自動変換された結果でしょ
タプルは普通に固定サイズ
allocするサイズが可変だからinitのタイミングじゃ遅い

NSData や UnsafeMutablePointer<UInt8>.allocate で確保することになるから
値型として扱いたいならラッパーを探すか書くかしないと駄目
0920デフォルトの名無しさん (ワッチョイ cb81-2PF3)
垢版 |
2018/05/13(日) 09:13:28.29ID:FE+GfUzy0
>>915
Swiftはwithout CなんだからC配列とかどうでもいいんじゃないの?
C配列使えるObjective-Cなら何も問題はなかったわけだ
それをわざわざSwiftとかいうわけわからん言語導入するからそういう話が出てくる
韓国が日本にやってるような絡み方すんなよもう
0921デフォルトの名無しさん (ワッチョイ cb81-2PF3)
垢版 |
2018/05/13(日) 09:15:02.38ID:FE+GfUzy0
Swiftは自分でC要素排除したんだから、もうCに頼るなCに絡むなまじで
0923デフォルトの名無しさん (ワッチョイ 9b21-C4HX)
垢版 |
2018/05/13(日) 12:30:06.82ID:M2GRXTqJ0
>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
0924デフォルトの名無しさん (ワッチョイ 55b3-k37M)
垢版 |
2018/05/13(日) 12:45:45.14ID:XcX7x9Bh0
>>920-921
Appleが提供してるライブラリがそうなってるんだから
それを使う以上はwithout Cになるわけないじゃん?

というか言語仕様からC要素排除しただけで、Swift環境自体からC要素排除したわけではないよ

↓のソースにも「Unsafe」という文字が沢山あるっしょ
https://github.com/apple/swift/blob/master/validation-test/stdlib/CoreAudio.swift
https://github.com/apple/swift/blob/master/stdlib/public/SDK/CoreAudio/CoreAudio.swift

公式でSwift用のラッパー用意しろよとは思うけど
0925デフォルトの名無しさん (ワッチョイ 55b3-k37M)
垢版 |
2018/05/13(日) 12:55:00.27ID:XcX7x9Bh0
>>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では割とある
0931デフォルトの名無しさん (ワッチョイ 89fa-9WOx)
垢版 |
2018/05/23(水) 19:24:23.07ID:Au5e7VGg0
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

S91U5
0940デフォルトの名無しさん (ササクッテロレ Spdd-UIeE)
垢版 |
2018/06/12(火) 15:37:42.35ID:5yzvUE9vp
クリエイター界かな。
Macを使っているクリエイティビティが必要な界隈。
マジで見かけないんで本当にWindowsなんか誰がどこで使ってるのか謎。
事務所とかの黒っぽいノートパソコンに入ってるらしい
あとマクドナルドで初老の人がマウス繋いで使ってるのはみた。
0942デフォルトの名無しさん (アウアウカー Sa2d-22KU)
垢版 |
2018/06/12(火) 20:45:28.52ID:oQpwY039a
>>940
MacでWindowsが動いてるの見たことあるよ
0945デフォルトの名無しさん (アメ MM05-LxN6)
垢版 |
2018/06/13(水) 09:44:42.61ID:2Ip/PmvHM
マカーってなんですぐ嘘つくの?
嘘つき糞マカー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機へと移行。
0946デフォルトの名無しさん (アメ MM05-LxN6)
垢版 |
2018/06/13(水) 09:53:03.53ID:2Ip/PmvHM
GPUの性能は低いまま、最後の希望WWDCでも何も発表されませんでしたwwwww

WWDCで新しいMacが発表されなかったので、ダークモードになっている
https://japan.cnet.com/article/35120465/
0948デフォルトの名無しさん (ブーイモ MMb6-NcgN)
垢版 |
2018/06/19(火) 12:38:34.57ID:fk4bn8aeM
PagingMenuControllerで、1ダブ〜2タブ目が表示されません。viewDidLoad ではダメで、viewWillAppearでaddSubvirwすると表示されたり、クリックのactionが追加されなかったりします。
また、複数回同じクラスを追加すると、同じインスタンスが呼び出されるようになってしまったのですが誰か原因分かりますか?
0949デフォルトの名無しさん (ブーイモ MMb6-NcgN)
垢版 |
2018/06/19(火) 12:40:54.93ID:fk4bn8aeM
環境はswift4です
0950デフォルトの名無しさん (ブーイモ MMb6-NcgN)
垢版 |
2018/06/19(火) 12:42:45.76ID:fk4bn8aeM
タブの中はcollectionviewで画像です
0951デフォルトの名無しさん (オイコラミネオ MM8f-Mf9B)
垢版 |
2018/06/27(水) 23:34:40.77ID:ncMnCFyxM
そういう風に書いたからだろ
それだけで分かる奴いたら超能力者だわ
その手の不具合はブレイクポイント張りまくって、
ログも出しまくって地道に調べたらだいたい分かるでしょ
0952デフォルトの名無しさん (ワッチョイ 45fa-2e90)
垢版 |
2018/07/04(水) 22:14:19.99ID:gFgZc5FG0
4VE
0958デフォルトの名無しさん (アウアウカー Sa55-jzog)
垢版 |
2018/07/13(金) 12:45:55.14ID:fxcd0vFwa
俺はどうでも良いと思うな
0962デフォルトの名無しさん (ワッチョイ 4923-juwT)
垢版 |
2018/07/17(火) 21:15:46.48ID:yzTvG54n0
最近Swift始めた新人ですが教えてください。
UIControlEventsの定義で構造体なのに { get } という記述があるのが意味不なんですが、
これはどういう意味でしょうか?
もしプロトコル定義だったら「読み取りできるタイププロパティtouchDownを定義しろ」
という意味になると思うんですが、構造体なら「case touchDown」という記述になるじゃないでしょうか??

public struct UIControlEvents : OptionSet {
 public static var touchDown: UIControlEvents { get }
0965962 (ワッチョイ 4923-juwT)
垢版 |
2018/07/18(水) 07:15:12.63ID:KM8lntjZ0
なんとなくわかってきました。
まずcaseを使ってないのは、ビットマスクだからで
{ get }なのは読み取り専用にしたいから、
structでなぜ{ get }みたいな記述が出来るのかは、
NS_OPTIONSマクロがどっかに定義されていてそれが影響してるって感じですよね?
レス数が950を超えています。1000を超えると書き込みができなくなります。

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