X



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

■ このスレッドは過去ログ倉庫に格納されています
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
0029デフォルトの名無しさん (ワッチョイ f77e-ATab)
垢版 |
2017/07/09(日) 05:46:33.77ID:GCKhJDjB0
>>26
ボキャブラリ貧困
0031デフォルトの名無しさん (ワッチョイ f77b-lTuT)
垢版 |
2017/07/09(日) 09:43:38.60ID:XPzyjd3D0
他スレにも出向いてObj-C=老害を吹聴してSwiftを布教して回ってんのかよ...

82 1 名前:名称未設定 (ササクッテロリ Sp71-yTFi) Mail:sage 投稿日:2017/07/03(月) 20:24:07.40 ID:ipKiHhaqp
これは老害ですわ
なんでこんな古いObjCの記述をするんだよw

Modern Objective-Cを学び直すか、ObjCを捨ててSwiftを学ぶべきだな
0033デフォルトの名無しさん (ササクッテロリ Spcb-2NKy)
垢版 |
2017/07/09(日) 09:50:16.64ID:rWTT//QAp
いや、そこSwiftスレじゃん
そしてあまりにも酷いObjCコードをスレチで書いた老害が悪いわw
業務ではObjCしか使わないしSwiftが良い言語と思っちゃいないが、専スレでアンチは勘弁な
0034デフォルトの名無しさん (スップ Sd3f-Zww2)
垢版 |
2017/07/09(日) 10:04:05.98ID:ubbDJ28zd
>>33
もう一度おききしますね

何歳から老害なんですか?
あなたはいつから老害になる予定ですか?
それとも、歳くってもModernな言語をさわって布教してれば老害にはならないのですか?
0036デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
垢版 |
2017/07/09(日) 10:43:37.17ID:7zogvxJ60
ObjCでいいはないだろ...
何たってサーバーサイドも書けるんだぜ?
何もせんでもキャリアが伸びるこんなおいしい話はない
来年あたりSwiftのサーバーサイドでの積極採用の会社も出てくると予想してる
0038デフォルトの名無しさん (ワッチョイ d700-cxsd)
垢版 |
2017/07/09(日) 10:59:41.20ID:K0mwJiCj0
>>36
さすがにそこまではないと思う
サーバーサイドに使われるようになるには
ライブラリやフレームワークの充実度が重要
すでに他言語が相当前にいるので追いつくまでそうとうかかる
0042デフォルトの名無しさん (ワッチョイ f77e-Y/ku)
垢版 |
2017/07/09(日) 12:35:41.50ID:GCKhJDjB0
>>34
お前が老害
0044デフォルトの名無しさん (ワッチョイ f77e-Y/ku)
垢版 |
2017/07/09(日) 12:40:36.19ID:GCKhJDjB0
ObjC専用スレ覗いて見た。最後のレスが今年の2月だった。
ObjCをちょっと触ってるけど、良い感じだわぁ。
ちょいと、メソッド名が冗長な感じはするけど、スルスルとコンパイルされるのが良い。

コンパイルエラーが不親切って感じはするけど。
その点、Swiftコンパイラは親切but時間かかる。
0045デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
垢版 |
2017/07/09(日) 12:56:04.79ID:7zogvxJ60
差分ビルドなら結局ObjCもSwiftも大して差を感じたことがないが
Swiftのビルド遅い遅い言ってるのは常にクリーンビルドでもやってんのかな
それかMacbook or Airだと体感差が出るとか?Proだと差が感じられない
0051デフォルトの名無しさん (ワッチョイ bf32-yTjp)
垢版 |
2017/07/09(日) 17:27:56.47ID:M1SE5oNM0
Swiftのビルドは遅いと思わないな。
遅いと言ってる人は多分StoryBoard使ってたり、変数の宣言時に型指定してないんだろうな。
0055デフォルトの名無しさん (ワッチョイ 9f20-gfZI)
垢版 |
2017/07/10(月) 18:53:10.56ID:knKTPcd80
ARCって循環参照したらメモリリークすんでしょ?

だからってweakとかunownedにしたら間違って解放後にアクセスしちゃうかもしれないし
マジ使えねー
0059デフォルトの名無しさん (ガックシ 068f-QYYo)
垢版 |
2017/07/10(月) 23:35:14.81ID:5DkNY5/u6
Cで作った関数をSwift上で使いたいのですが、
文字列のアドレスを渡す関数でエラーが出てしまいます。
何が原因でしょうか。。。

@IBAction func BtnClick_ConnectTest(_ sender: Any) {
//接続先設定
var port:Int32 = Int32(_textFirld_sendPort.text!)!
var IP:String = _textField_sendIP.text!
var str:String = "test"
MyScocket_init()
setScoketSend(port,IP)

SendUDP(Unmanaged<AnyObject>.passUnretained(str as AnyObject).toOpaque() ,str.utf16Count)
}

int SendUDP(char* str, int strsize){
// パケットをUDPで送信
int ret = sendto(g_sockets[SOCK_SEND].sd, str, strsize, 0,
(struct sockaddr *)&g_sockets[SOCK_SEND].sock, sizeof(g_sockets[SOCK_SEND].sock));
if( ret < 0) {
perror("sendto");
}
return ret;
}

エラー内容
Cannot convert value of type 'UnsafeMutableRawPointer' to expected argument type 'UnsafeMutablePointer<Int8>!'
0064デフォルトの名無しさん (ワッチョイ 572d-KuRC)
垢版 |
2017/07/11(火) 01:40:47.21ID:gmstQp2n0
最近書き始めたけど、これ凄いな
簡単にアプリ作れて驚いた、凄い書きやすいわ
ただ基本的な文法をもっと勉強したいんだけど、良い参考書って何かないですかね
アプリ入門系の本だと、アプリで使うメソッドしか解説がないのでもっと基本的な所から勉強したい
0068デフォルトの名無しさん (ワッチョイ f76c-QYYo)
垢版 |
2017/07/11(火) 11:56:52.95ID:uTsC6u070
>>64
Core Foundationのソースを見ろ!
いろんなCの関数が並んでる。
0071デフォルトの名無しさん (ブーイモ MMfb-aOiv)
垢版 |
2017/07/11(火) 13:47:20.91ID:6GA6X5kAM
iosは基本的にhttpsで通信なんだから強いて言えばtcpなんだろうけど、
今時その層を意識する必要あるのかな。websocketとかある時代だし
ルーター超えとか考慮するのにtcpから触るとか無理ある
0072デフォルトの名無しさん (ワッチョイ f7d1-QYYo)
垢版 |
2017/07/11(火) 15:38:11.48ID:NnERboSX0
httpに限らずTCP利用のサービスの方が多いだろ。UDPはよほどパフォーマンス気にするようなサービスでだが、ビデオストリームでさえTCP(それもhttpなんて)でいいやの方が主流でUDP使ってるのが稀になってるだろ
0080デフォルトの名無しさん (ワッチョイ 9f20-gfZI)
垢版 |
2017/07/11(火) 21:21:14.43ID:ARlFR3Nh0
>>76
When to use struct?
https://stackoverflow.com/questions/521298/when-to-use-struct
Choosing Between Class and Struct
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/choosing-between-class-and-struct

✓ CONSIDER defining a struct instead of a class if instances of the type are small and commonly short-lived or are commonly embedded in other objects.

X AVOID defining a struct unless the type has all of the following characteristics:

It logically represents a single value, similar to primitive types (int, double, etc.).

It has an instance size under 16 bytes.

It is immutable.

It will not have to be boxed frequently.
0083デフォルトの名無しさん (ワッチョイ 9f6f-UF+C)
垢版 |
2017/07/12(水) 12:14:48.88ID:Ft5NBnXm0
classはiOS frameworksとの互換性維持のためにあるだけだろ
基本structでいいよ
サーバーサイドはほぼStruct一色だわ
0085デフォルトの名無しさん (ワッチョイ ff17-txss)
垢版 |
2017/07/12(水) 17:42:49.46ID:TL+DQEEP0
>>59
誰も答えないからやってみた
ref. ttps://stackoverflow.com/a/41308592

@IBAction func BtnClick_ConnectTest(_ sender: Any) {
//接続先設定
var port:Int32 = Int32(_textFirld_sendPort.text!)!
var IP:String = _textField_sendIP.text!
var str:String = "test"
MyScocket_init()
setScoketSend(port,IP)

SendUDP(str)
}

int SendUDP(const char* str) {
// パケットをUDPで送信
int ret = sendto(g_sockets[SOCK_SEND].sd, str, strlen(str), 0,
(struct sockaddr *)&g_sockets[SOCK_SEND].sock, sizeof(g_sockets[SOCK_SEND].sock));
if( ret < 0) {
perror("sendto");
}
return ret;
}

昔はUnmanagedやらOpaqueやらUnsafeやら操作しなきゃいけなかったような気がするけど変わったかな
まぁ、Stringは(ほぼ)組み込み型で特別扱いされてるだけで、ARC管理下の自前オブジェクトは管理が必要なはず
0087デフォルトの名無しさん (JP 0H8a-FPdr)
垢版 |
2017/07/13(木) 13:42:07.18ID:gLbFU3lkH
>>85
ありがとうございます!
助かりました。
ちなみにiosでTCP/UDP使う時に使いやすいapiないですか?
今回、UDP通信するにあたってCFソケットも検討したんですが、いまいち使いづらくて

C言語の方が慣れてるんでCで書いたんですけど
0099デフォルトの名無しさん (JP 0H3a-G/zD)
垢版 |
2017/07/17(月) 15:18:50.28ID:fxU6unKKH
>>93-94
shebangが美しいとかω
0103デフォルトの名無しさん (ワッチョイ d06c-Oo8n)
垢版 |
2017/07/19(水) 00:14:23.59ID:9uIEKdpP0
>>102
wikipedia見ただけだと凄そうなんだけど、どんなところがクソなの?
0105デフォルトの名無しさん (ササクッテロリ Sp39-e5K2)
垢版 |
2017/07/19(水) 12:36:23.74ID:BtGwiF1+p
>>103
1. 目標として掲げた言語仕様に対する完成度がswift betaくらいに未完成
2. nimソースを他言語ソースにコンバートして、他言語ソースをネイティブバイナリにコンパイルという微妙なコンパイル手法
3. 1, 2に引きずられているのか書いたコードが仕様通りに動かない(バグったコードがバグるんじゃなく、正しいコードがバグる

Python好きだし期待してた頃もあったけど、一向に完成度が上がらないから諦めた
大企業スポンサーがつかない新興言語はどうしようもないんだなって, Apple/IBMがついてるSwiftはまだマシ
0109デフォルトの名無しさん (ササクッテロラ Sp1b-M4aJ)
垢版 |
2017/07/21(金) 13:51:26.30ID:aL8S5b5tp
一応、GCが付いてたりとランタイムに独自機能は乗ってるけどな

SwiftもObjCへのトランスコンパイラとして実装すれば良かったのかもしれないとふと思った
その程度だとApple公式PJになる意義はなかったかもだけど、今のSwiftランタイムの存在意義と比べてトントンじゃね
0112デフォルトの名無しさん (ササクッテロロ Sp1b-O7UX)
垢版 |
2017/07/21(金) 21:32:57.35ID:vpGxs76Rp
呼び出しのオーバーヘッドもなにもクラス実体があるポインタアドレスに
まるっとデータ送ってるだけだから逆にリンカがコンパイル時に
「ここ」って指定してるのとどこがそんなに違うんですか?的な
0120デフォルトの名無しさん (ササクッテロラ Sp1b-3PLk)
垢版 |
2017/07/22(土) 15:59:40.76ID:WZvf35Ulp
Cocoa, UIKitで他の言語が使えないからなぁ
ObjCだったから発展したんじゃなく、発展に合わせてObjCが普及したのが事実よな

Swiftでないと使えないという環境がないから普及しねぇ
Carthageも流行らなかったから普及に貢献してないし
0125デフォルトの名無しさん (ワッチョイ 47d1-29Ea)
垢版 |
2017/07/22(土) 23:41:33.63ID:QZvpiOv/0
>>122
CarbonがいつC++だったのよ。Cだろ
>>123のいう根本から変わる過渡期にどうするかで出てきたCarbonなんて最初からいつか無くなる運命だし、Carbonよりも先にObjective-Cあったので切り替えでもなんでもないだろ
いつまでもOSネイティブなObjective-Cにしなかったアホが悪いでしかないのに、ゴリ押しとか基礎も結論も妄想がひどすぎ
■ このスレッドは過去ログ倉庫に格納されています

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