Swift part11 [無断転載禁止]©2ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
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

881デフォルトの名無しさん (ワッチョイ 4ed3-4KUa)2018/04/22(日) 06:38:11.63ID:xtwb4rw10
ciをCLIと読み替えるドヤ顔バカがいる世の中の方がよほど広く感じるわw

882デフォルトの名無しさん (ワッチョイ 17a7-GfG9)2018/04/22(日) 13:12:52.75ID:t42R7T7T0
なんかよほど気に食わなかったことがあったらしいな。そんなとこに食いつくとは

883デフォルトの名無しさん (ワッチョイ 5a23-GfG9)2018/04/22(日) 19:20:56.05ID:NJM5ML6X0
もっと争え

884デフォルトの名無しさん (ワッチョイ e3b3-7MKD)2018/04/22(日) 19:29:48.14ID:bBR6Oib80
知らなきゃ別に今知ればいいし知らないやつを馬鹿にしても生産的じゃ無いよね。

ちなみに答えが無いってことはciをやるには未だにmacがいるってこと?
react-nativeの方が便利だな。これはもう

885デフォルトの名無しさん (ワッチョイ 17a7-GfG9)2018/04/22(日) 20:20:53.75ID:FSKGQtgf0
Swiftというか何らかの言語がというのとは関係なくね?
コンパイラ等の基本的な開発環境とは別のことだろう。やるとしたらEclipse周りな人々とか、その辺りのOSS界隈だろうな

886デフォルトの名無しさん (ワッチョイ ff96-iqNU)2018/04/23(月) 09:49:16.49ID:B+G5EdcD0
>>883
なんでMacがなきゃCIが出来ないと思ったの? バカじゃないの?

887デフォルトの名無しさん (ワッチョイ 17a7-GfG9)2018/04/23(月) 12:31:17.58ID:zGa2TyVo0
CIはXcodeで知りそれしか知らないその方法だけだと思ってるだけとか

888デフォルトの名無しさん (アメ MMff-w9qC)2018/04/23(月) 13:04:09.43ID:8zXr1SIeM
コマンドwwインターフェースwwwだと思ってるくらいだからなwwwww

889デフォルトの名無しさん (ワッチョイ 17a7-GfG9)2018/04/23(月) 13:26:18.94ID:8K5Wd30A0
なんか必死さが滲み出てるな
そんなこと言うのは、ciはxcodeでのciだけだと思ってたと言ってるようなもんだろう

890デフォルトの名無しさん (アメ MMff-w9qC)2018/04/23(月) 15:35:46.73ID:8zXr1SIeM
くやしいのうw
5chでよかったなww
リアルで恥かかずに済んでwwww

891デフォルトの名無しさん (ワッチョイ 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  バンバン
 ヽ    -一””””~~``’ー–、   -一”””’ー-、
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

892デフォルトの名無しさん (ワッチョイ 17a7-GfG9)2018/04/23(月) 18:55:31.51ID:8K5Wd30A0
お前もどうかと思う

893デフォルトの名無しさん (ワッチョイ 0bb3-hWI/)2018/04/23(月) 20:25:55.66ID:HCf1mURQ0
いまどきMacじゃないやつは人じゃないというか
ただの犯罪者予備軍だしな。
サイバー犯罪で捕まって「いつも暗い部屋でパソコンカタカタやってて
いつかはこうなると思ってました」と証言される存在。

894デフォルトの名無しさん (アウアウカー Sa43-9Dln)2018/04/23(月) 20:44:35.06ID:snLtrZOza
いまどきMac持ってるやつは人じゃないというか
ただの犯罪者予備軍だしな。
サイバー犯罪で捕まって「いつも暗い部屋でパソコンカタカタやってて
いつかはこうなると思ってました」と証言される存在。

895デフォルトの名無しさん (ワッチョイ b676-GfG9)2018/04/23(月) 20:51:10.68ID:r//gyxf/0
プログラマなの?ホントに
Swiftやってるやつはこんなヤツらって思われるから止めてw

896デフォルトの名無しさん (ワッチョイ 0bb3-9jjH)2018/04/23(月) 22:26:10.04ID:Mda//Oye0
Mac持っててMacメインじゃない俺を2重にディスるのはやめろ

897デフォルトの名無しさん (ワッチョイ 0e8a-wgWx)2018/04/24(火) 16:22:03.29ID:v7CSxy8v0
VSCode使いやすいしな。

898デフォルトの名無しさん (アメ MMff-w9qC)2018/04/24(火) 16:48:59.82ID:eLoUapjtM
汎用エディタにしては、だろ。
pythonならpycharmには敵わないし、
swiftならxcodeには敵わない。

899デフォルトの名無しさん (JP 0Hf3-luqG)2018/04/27(金) 12:28:45.07ID:H1f47pyMH
初心者です
Armになったら、Switのコード大幅に変わるの?

900デフォルトの名無しさん (JP 0Hf5-GHdW)2018/04/27(金) 12:54:17.19ID:R3RKTm8aH
はぁ?

901デフォルトの名無しさん (アークセー Sx0d-Zm70)2018/04/27(金) 15:25:59.01ID:ID73PkLcx
ひぃ?

902デフォルトの名無しさん (ワッチョイ 1323-JoRN)2018/04/27(金) 17:05:53.89ID:3C/lp+Mi0
ふぅ?

903デフォルトの名無しさん (ワッチョイ 8992-4W/L)2018/04/27(金) 17:19:30.04ID:lqPRSLem0
macのcpuがarmになったらって聞いてる?
全部uikitベースになったりしてな

904デフォルトの名無しさん (アウアウカー Sadd-wPGC)2018/04/27(金) 20:44:42.93ID:oJis0HV7a
CPU変わったって言語仕様まで変える必要なかろう

905デフォルトの名無しさん (ワッチョイ 5b76-JoRN)2018/04/27(金) 21:31:52.79ID:c8Jyxorx0
すでにARM/Intelと違うCPUで(ほぼ)同じなんだからな

906デフォルトの名無しさん (ワッチョイ 41f7-q203)2018/04/28(土) 01:04:26.11ID:Pvc8wRai0
インラインアセンブラが使えるなら変わっていただろうな

907デフォルトの名無しさん (アウアウカー Sadd-wPGC)2018/04/30(月) 17:54:40.54ID:NF3/uQW/a
インラインアセンブラはC言語に組み込んだ反則技みたいなものなので他の言語は是非とも実現しないでおいて欲しい。

MacのCPUが全部ARMになるとまずかありえんし、アセンブラ使えんし、
そんなこと考えるだけ不毛

909デフォルトの名無しさん (ワッチョイ 933e-39yo)2018/05/01(火) 10:14:42.05ID:OUwlkFDk0
OSというかファイルシステムに仕掛けあってMac/iOSは
複数のバイナリ実行ファイルをパッケージの中の別ディレクトリで持てるからなぁ
PPC/intel時代とか32bit/64bitバイナリとか。

910デフォルトの名無しさん (ワッチョイ 5b76-JoRN)2018/05/01(火) 16:06:29.62ID:M+3XKBR00
パッケージの中の別ディレクトリじゃないよ。ひとつの実行ファイルの中で。実行ファイルに限らずFrameworkなどなども。Mach-Oっつうて。より古いのもディレクトリで分けではないな

911デフォルトの名無しさん (アウアウエー Sa23-cUH7)2018/05/01(火) 16:33:58.96ID:hs19eTspa
フーン(ω)

912デフォルトの名無しさん (JP 0Hf5-GHdW)2018/05/01(火) 16:36:43.61ID:uAjEoiQdH
へーっ(癶)

913552 (ワッチョイ db21-KzCP)2018/05/01(火) 21:00:42.03ID:LNs8frCc0
インラインアセンブラはまれに触る事があった。Linuxからの移植位なのでレジスタ退避の違い位しか分からない。

当時はgcc拡張で書いてた記憶があるけど、今clangだとどう書くんだろう?

914デフォルトの名無しさん (ワッチョイ 71b3-txLX)2018/05/02(水) 09:08:10.24ID:rm9ZE9J90
なんか最近審査時間めっちゃ短くね
GWだからか

915デフォルトの名無しさん (ブーイモ 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を確保して扱うのが
安全でしょうか?

916デフォルトの名無しさん (ワッチョイ 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してのをこの中でやってるでしょ。コピーもこれ使えかな

917デフォルトの名無しさん (ワッチョイ 55b3-k37M)2018/05/12(土) 11:23:56.18ID:NQvTiPFY0
定義見たけど AudioChannelDescription[1] が自動変換された結果でしょ
タプルは普通に固定サイズ
allocするサイズが可変だからinitのタイミングじゃ遅い

NSData や UnsafeMutablePointer<UInt8>.allocate で確保することになるから
値型として扱いたいならラッパーを探すか書くかしないと駄目

918デフォルトの名無しさん (ワッチョイ 9b21-C4HX)2018/05/12(土) 12:31:22.50ID:guqpliHV0
やはりそうですよね。
仕方ないのでData型で置き換えて扱う様にします。
CoreAudioはこの手の可変長配列を含むStructがあって扱いが難しいです。

919デフォルトの名無しさん (ワッチョイ 55b3-k37M)2018/05/12(土) 13:21:14.68ID:NQvTiPFY0
>>918
Dataでもいいけどメンバにアクセスするのが面倒になるかもよ
コピーの面倒を見てくれる代わりにアクセスがクロージャ経由になるから

920デフォルトの名無しさん (ワッチョイ cb81-2PF3)2018/05/13(日) 09:13:28.29ID:FE+GfUzy0
>>915
Swiftはwithout CなんだからC配列とかどうでもいいんじゃないの?
C配列使えるObjective-Cなら何も問題はなかったわけだ
それをわざわざSwiftとかいうわけわからん言語導入するからそういう話が出てくる
韓国が日本にやってるような絡み方すんなよもう

921デフォルトの名無しさん (ワッチョイ cb81-2PF3)2018/05/13(日) 09:15:02.38ID:FE+GfUzy0
Swiftは自分でC要素排除したんだから、もうCに頼るなCに絡むなまじで

922デフォルトの名無しさん (ワッチョイ 05df-nBTi)2018/05/13(日) 10:27:55.64ID:g1+AsAxa0
ちょっと高度な話すぎて困惑してる、もう一度わかりやすい展開で書き直して欲しいくらい

923デフォルトの名無しさん (ワッチョイ 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

924デフォルトの名無しさん (ワッチョイ 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用のラッパー用意しろよとは思うけど

925デフォルトの名無しさん (ワッチョイ 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では割とある

926デフォルトの名無しさん (ブーイモ MM43-nBTi)2018/05/13(日) 20:04:14.37ID:mBznBpttM
君たちを雇うならどれくらい払えば良いんだろう。
勉強になるわー

927デフォルトの名無しさん (ブーイモ MM43-nBTi)2018/05/13(日) 20:08:55.80ID:mBznBpttM
なんか生意気な書き方になってしまった

928デフォルトの名無しさん (ワッチョイ 2d23-hYs8)2018/05/15(火) 16:11:28.05ID:/GdOzihT0
SCNHittestの逆の事ってどうやったら出来ますかね……座標が画面のどこに出てるかを出したいんですけど
UnityのWorldToScreenPointと同じ動作です

すいません自己解決した

930デフォルトの名無しさん (ワッチョイ 55b3-k37M)2018/05/15(火) 23:17:02.11ID:i/BhMlo50
よく知らんけどprojectPointとunprojectPointで相互変換出来るんじゃね

931デフォルトの名無しさん (ワッチョイ 89fa-9WOx)2018/05/23(水) 19:24:23.07ID:Au5e7VGg0
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

S91U5

新着レスの表示
レス数が900を超えています。1000を超えると表示できなくなるよ。
レスを投稿する