2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

let s: プログラミング言語? = Swift[2]

1 :名称未設定:2014/08/23(土) 09:55:25.03 ID:vQdcSMFci.net
Appleの新言語Swiftについて語りましょう

Apple Developer
ttps://developer.apple.com/swift/
Welcome to Swift
ttps://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/

書籍iBooks:
The Swift Programming Language
ttps://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
Using Swift with Cocoa and Objective-C
ttps://itunes.apple.com/jp/book/using-swift-cocoa-objective/id888894773?mt=11
書籍の形にはなってないけどドキュメント
The Swift Programming Language
ttps://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Using Swift with Cocoa and Objective-C
ttps://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html#//apple_ref/doc/uid/TP40014097
Swift Standard Library Reference
ttps://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/

Swift Blog
ttps://developer.apple.com/swift/blog/
Resources (Xcode 6が無料でダウンロードできる)
ttps://developer.apple.com/swift/resources/

関連スレ
Swift part3
http://peace.2ch.net/test/read.cgi/tech/1406083608/

前スレ
プログラミング言語Swift
http://anago.2ch.net/test/read.cgi/mac/1401736921/

2 :名称未設定:2014/08/23(土) 10:04:15.00 ID:Ua4LMA5ui.net
スレタイも>>1も闇鍋言語 swift らしいスレだなw

3 :名称未設定:2014/08/23(土) 10:42:05.43 ID:21bn9bpW0.net
なぜnilを許容するのか

4 :名称未設定:2014/08/23(土) 11:19:27.77 ID:vQdcSMFci.net
しまった
let s: プログラミング言語? = Swift(part: 2)
ってすりゃよかった

5 :名称未設定:2014/08/23(土) 11:53:26.46 ID:i/ODvkXe0.net
なぜ重複スレがたってんだよカス

6 :名称未設定:2014/08/23(土) 11:54:34.97 ID:i/ODvkXe0.net
あ、名前変えたのか

7 :名称未設定:2014/08/23(土) 11:57:52.16 ID:i/ODvkXe0.net
ん?やっぱわけわかんねーぞ

プログラミング言語Swift 3
http://anago.2ch.net/test/read.cgi/mac/1408762479/

8 :名称未設定:2014/08/23(土) 12:10:41.23 ID:i/ODvkXe0.net
埋め

9 :名称未設定:2014/08/23(土) 12:42:54.78 ID:Ua4LMA5ui.net
こっちの方が先に立ってんじゃねーかw

10 :名称未設定:2014/08/23(土) 12:47:04.78 ID:i/ODvkXe0.net
タイトル変えたのがよくなかったんだよ

11 :名称未設定:2014/08/23(土) 13:19:35.93 ID:vUov9+yQ0.net
ごめん あっちを立てた物だけど、このスレがスレッドあぼ〜んになってて見えなかった
こっちが先に立ってるからこっちで進めてください あっちは次のスレとしてでも使ってください

12 :名称未設定:2014/08/23(土) 14:17:51.81 ID:vUov9+yQ0.net
スレッドあぼ〜ん解除しても次にスレッドの更新をかけるとまたスレッドアぼ〜んに戻って見えなくなる
どうしてだろ 別にNGThread 何かに登録してる訳でもないのに

13 :名称未設定:2014/08/23(土) 14:25:19.16 ID:i/ODvkXe0.net
>>12
専ブラのバグじゃねーの?

14 :名称未設定:2014/08/23(土) 14:45:11.03 ID:vUov9+yQ0.net
最新に今アップデートしてみたけど同じだな いくつかNGThreadに入れていたのもすべて削除したけど同じ

他に JaneDoe Viewを使ってる人は見えてるのかな?

この板でスレッドあぼ〜んとなってるのはこのスレの他には 
【新登場】2ちゃんねる快適ツール「浪人」。
http://anago.2ch.net/test/read.cgi/mac/9248888888/
これだけ

15 :名称未設定:2014/08/23(土) 14:57:56.83 ID:Mwm8lB470.net
マカ板でWinの専ブラなんか使うからだろ

16 :名称未設定:2014/08/23(土) 14:59:21.36 ID:i/ODvkXe0.net
ここは、BathyScapheユーザばっかりじゃねーの?

17 :名称未設定:2014/08/23(土) 15:01:20.42 ID:vUov9+yQ0.net
お騒がせしました NGWORDに登録してたものをすべて削除したら良くなったみたい 何かバグが有ったんだろう
(でも 【新登場】2ちゃんねる快適ツール「浪人」。 と言うスレは全く姿を消した)

18 :名称未設定:2014/08/23(土) 15:31:25.77 ID:vUov9+yQ0.net
早速 BathyScaphe を入れて初書き込み
板一覧が古くてiOS が見えない, iOSゲームの板名がiPhoneのまま 板一覧更新がない?
スレ違いだからこの辺で終わりにします

19 :名称未設定:2014/08/23(土) 16:16:41.46 ID:5EQZjBV80.net
言語統一って、せいぜいxmlとc++でよくね?

20 :名称未設定:2014/08/23(土) 16:46:06.23 ID:xODCpz4Ji.net
この話題のことかな?

未来では全てのプログラミング言語が1つになる?
http://www.gizmodo.jp/2014/08/1_189.html

C++ では限界が見えたからこそ新しい言語が生まれてきてるんだよ
C++ で満足出来るならSwiftなんか生まれないし誰も賛同しないよ

コンピュータ言語は黎明期の言語体系から殆ど進化していない
記号、ツールから抜け出せていない
もっと人間の言葉、学問の専門用語などを理解するようになって行くだろう

ロボットもヒューマノイドロボットがやっと立ち上がりかけているし、人間とコミュニケーションを取ろうと努力している

コンピュータ言語の進化系は幼児から専門家まで隔たりなく利用出来るようになることだろう

21 :名称未設定:2014/08/23(土) 17:32:29.41 ID:i/ODvkXe0.net
>>18
「掲示板」メニュー→掲示板リストの同期
をすればいい

22 :名称未設定:2014/08/23(土) 17:46:56.17 ID:Mwm8lB470.net
第2引数と書こうとするといつも、第2匹数と変換されることえりの馬鹿

23 :名称未設定:2014/08/23(土) 18:34:07.78 ID:Ua4LMA5ui.net
>>20
自然言語を模したプログラミング言語が多数存在しているんだけどな、LiveCodeとかひまわりとか
それを使うのかというと、メリットもユースケースがなさすぎてユーザもプログラマも使わないけど

24 :名称未設定:2014/08/23(土) 18:55:10.30 ID:0thnJkjh0.net
>>18
情報取得元が変更していないだけ。

25 :名称未設定:2014/08/23(土) 19:05:47.71 ID:j6VbooA7i.net
>>23 上っ面だけ置き換えたものは余り意味が無い
例えば古くはCOBOL
拡張性や曖昧さを理解する懐の深さが無いと

26 :名称未設定:2014/08/23(土) 19:09:35.13 ID:Ua4LMA5ui.net
新しく言ってくれ、老害言語を言われても分かりづらい
なでしこはいい感じだったぞ、LiveCodeはイマイチすぎたが

そして今更だが>>20が求めているのは自然言語入力インターフェースで
ロジックを組む言語は気にしてない気がしてきた

27 :名称未設定:2014/08/23(土) 19:29:04.23 ID:5EQZjBV80.net
>>20
限界の意味が分からん

限界ってようするに長ったらしい構文のことだろ?

それはC++が限界なのではなく、.hに限界があるんだろ?

結局の所、この手の統一という話というのは.hをWikipedia形式にすることが最良だと思うんだよね

28 :名称未設定:2014/08/23(土) 19:41:20.39 ID:5EQZjBV80.net
わかりやすくいうと、たとえばC++でもSwiftでもいいけど、オープンと歌ってるけど、何もオープンじゃないよね?

結局こちら側は読みとりのみ許可状態で、かゆいところをなおしたいと思っても権限がないわけだ

だからどの言語もいきづまる

これを回避するためには進化を続けるしかないわけだが、XMLのように厳格な基礎のみをおいて、残りは好きに編集させるのがよい。

たとえ違うネームの同じ処理があったとして、それはさしたる問題ではない。
そのように著作権を有しない、真の処理ライブラリが求められていると思うんだよね
わかりやすい形式としてWikipediaのようなやつね

29 :名称未設定:2014/08/23(土) 19:55:05.29 ID:Ua4LMA5ui.net
コンパイラが気に入らないけど技術力なくて手が出せないからもっとライトな環境にしろ、が主張かな
ライブラリなら pip, gem, maven などと自由に楽になってるよ

30 :名称未設定:2014/08/23(土) 20:23:31.94 ID:5EQZjBV80.net
勘違いしないで欲しいのだが、私は統一すべきだなどと思っていない。xp問題があうあうあーとかいってるどっかの富野とはちがってね

ただ統一するとしたら共通なライブラリとそれを元に分解する機能が必要で、それがあれば統一できると考えただけ

たとえば、varというものがわかりづらいとしてヴォーカルという名前にしたいとする。
var = ヴォーカルというものを作れば使えますとする。
で、さらにサバイブというものを作りたいとする、それはヴォーカルに387をかけた値だとする

そしたらサバイブ=ヴォーカル*387と登録すれば使えるとする

しかしこれでは他人はわからないので、サバイブを分解することができるとする。たとえば(ダブルクリックで)そうするとそこはヴォーカル*387に置き換わる

こういうものが世のみなから求められていると思う。

まあただの独りよがりな独り言です
スレ汚しすまそ

31 :名称未設定:2014/08/23(土) 21:34:23.80 ID:Ua4LMA5ui.net
define で良いんじゃね?swiftにないけど

32 :名称未設定:2014/08/23(土) 22:47:16.03 ID:2+ebs+2/0.net
極度に言語仕様に拘る奴がいるとチーム開発やりにくいよね
しかもメンバーに対して仕様に関する文句を言われても困るんだよな
開発元にメールするかチームから去れって思うんだけど

33 :名称未設定:2014/08/24(日) 07:38:45.35 ID:4eBufhpn0.net
パターンマッチ ~= は、Standard library だと書いて有るけど Standard libraryに説明は無いし、例題も無い
if 1...10 ~= 5 { println( "範囲内" ) }
オーバラップしてパターンマッチを拡張出来るとも書かれてるが、標準で色々入れておいて欲しいな

文字列パターンマッチ
"the Swift" ~= "wi" // true など

34 :名称未設定:2014/08/24(日) 07:58:10.48 ID:PiUHakg90.net
>>20
これなぁ
初見では「おお!」って思ったんだけどJavaみたいになったらアウトだし、モジュール的に複数の言語を使うのは(マークアップ言語やJS、PHPも視野に入れてるから)効率が逆にいいと思ってんですよぼかぁ

35 :名称未設定:2014/08/24(日) 10:32:21.39 ID:dRwlKBNY0.net
>>33
>"the Swift" ~= "wi" // true など

~=はオーバロードしなければ標準で==と同じ動きするから、~=(String, String)でオーバーロードすると文字列でのswitchなど標準の動きを破壊するぞ
やるなら~=(NSRegularExpression, String)とかにしとけ

36 :名称未設定:2014/08/24(日) 11:20:10.41 ID:eJluoFGX0.net
人が書かない時代になったら
簡便さより単純さを重視した言語の時代になるやろな

37 :名称未設定:2014/08/24(日) 11:28:25.28 ID:OmhNnqPf0.net
easinessよりsimplenessということか

38 :名称未設定:2014/08/24(日) 12:47:22.59 ID:4eBufhpn0.net
"A"..."G" ~= "B" //true  これは通るね

もう一つ解らないのが Switch 文で 

switch (1 , 2 ) {
case ( -2...2 , -2...2 ) :

この場合はOK(true)なのに

( -2...2 , -2...2 ) ~= ( 1 , 2 )
がエラーになる理由 コンパイラのバグかな?

Swift Standard Library に比較演算子として == と < の説明しかないのは手抜きだろうな

39 :名称未設定:2014/08/24(日) 12:55:31.80 ID:2XPcoL6di.net
その辺の演算、比較の記号、ベータで絶賛更新中
書いたらドキュメント更新が大変だ

40 :名称未設定:2014/08/24(日) 12:57:37.31 ID:OmhNnqPf0.net
それ、switchは関係なくね?

41 :名称未設定:2014/08/24(日) 13:22:13.76 ID:UOksP5VVi.net
>>40 switch は、~= で比較すると書かれてるから同じ動作にならないとおかしく無い?
Expression Pattern の説明

42 :名称未設定:2014/08/24(日) 14:35:01.39 ID:OmhNnqPf0.net
switchのcaseは、タプルの場合はタプルの個々の要素に対して ~=で比較してるんじゃないの?
タプル自体に~=演算を使ってるのではないのでは?

Tuples

You can use tuples to test multiple values in the same switch statement. Each element of the tuple can be tested against a different value or range of values. Alternatively, use the underscore (_) identifier to match any possible value.

43 :名称未設定:2014/08/24(日) 15:08:24.78 ID:UOksP5VVi.net
“Expression patterns appear only in switch statement case labels.

The expression represented by the expression pattern is compared with the value of an input expression using the Swift standard library ~= operator. The matches succeeds if the ~= operator returns true.”

44 :名称未設定:2014/08/24(日) 15:21:32.53 ID:UOksP5VVi.net
何れにせよ統一性が無いのは間違いの元だから修正されると思うよ

しかし何が標準文法で何がライブラリーなのか区別がつかないね
ライブラリーの文法を標準文法の中で使うのなら最低限ライブラリー説明書には入れておいて欲しい

自然に拡張出来るのは素晴らしいことだと思うけど

皆さんにお聞きしたいんですけど、どうして
== や < がライブラリーなんですか?
比較は標準文法外のライブラリーの守備範囲? それはそれで素晴らしいとも思えますがどこまでが標準文法なんでしょう?

45 :名称未設定:2014/08/24(日) 15:33:52.86 ID:dRwlKBNY0.net
自分のなかの常識に縛られすぎじゃないの

46 :名称未設定:2014/08/24(日) 15:35:23.57 ID:OmhNnqPf0.net
タプルって、そもそもEquatbleじゃないし、演算子も定義されてない
配列と違ってcompound typeだから、要素数が不定なタプルの統一的な演算子って書けないような...書けるのか?

~=は以下の型で使える

func ~=<T : Equatable>(a: T, b: T) -> Bool
func ~=<T>(lhs: _OptionalNilComparisonType, rhs: T?) -> Bool
func ~=<I : IntervalType>(pattern: I, value: I.Bound) -> Bool

47 :名称未設定:2014/08/24(日) 16:06:12.42 ID:2XPcoL6di.net
C++にも演算子のオーバーロードあるし
defineでやりたい放題な環境になるし
swiftもしかりで真面目に切り分けようとするのは愚行
API referenceはあるし、それで切り抜けろ

48 :名称未設定:2014/08/24(日) 16:10:32.63 ID:UOksP5VVi.net
>>46 その定義はどこに書いて有るんですか?

49 :名称未設定:2014/08/24(日) 16:40:26.15 ID:OmhNnqPf0.net
>>48
Playgroundで、IntとかprintlnとかをCommand + クリックすると、その定義が見れるでしょ
そのソースの一番下に定義されてる

50 :名称未設定:2014/08/25(月) 14:59:37.96 ID:DDCLfr9J0.net
GM明日です?

51 :名称未設定:2014/08/25(月) 15:10:31.78 ID:F9KUcJJc0.net
文字列の操作がもやもやしてたけどこのページは参考になった

Swift Techniques: Strings
http://www.chrismontrois.net/2014/08/02/swift-techniques-strings/

ベースはiOS Developer Library のNSString で有る事は言うまでもないが
NSStringのネーミングは長すぎるからもう少し簡潔にしないんだろうか

このページの =~ で RegExをサーチするようなのを標準で入れるとか
(RegEX自体は古臭くて好きじゃないけど)

52 :名称未設定:2014/08/25(月) 15:16:12.85 ID:Q6/R9Z+g0.net
RegExを関数に置き換えるようなのが有っても良いと思うんすよ
Not()とかRange()とかAny()とか

53 :名称未設定:2014/08/25(月) 16:26:53.14 ID:c4zKJWTe0.net
変数の型を調べるうまい方法はないですかね?

54 :名称未設定:2014/08/25(月) 22:43:39.15 ID:skAEvINY0.net
>>52
verbal expressions?

55 :名称未設定:2014/08/25(月) 23:00:34.64 ID:zsA7o60A0.net
C++ の constexpr の様なのが欲しい

56 :名称未設定:2014/08/25(月) 23:36:02.72 ID:QqLylDvWi.net
Pythonのtype()みたいのが欲しいです。

57 :名称未設定:2014/08/26(火) 00:26:45.76 ID:2UMJDwPt0.net
>>54 Swift の VarbalExpressionsも出来てるね
https://github.com/VerbalExpressions/SwiftVerbalExpressions
// 例 Create an example of how to test for correctly formed URLs (注:全角空白使用)
let tester = VerEx()
  .startOfLine()
  .then("http")
  .maybe("s")
  .then("://")
  .maybe("www")
  .anythingBut(" ")
  .endOfLine()

// Create an example URL
let testMe = "https://www.google.com"

// Use =~ operator
if testMe =~ tester {
  println("We have a correct URL") // This output will fire
}
else {
  println("The URL is incorrect")
}
println(tester) // Outputs the actual expression used: "^(?:http)(?:s)?(?::\/\/)(?:www)?(?:[^

//Shorthand for string replace:
let result2 = VerEx().find("red").replace("We have a red house", with: "blue")

58 :名称未設定:2014/08/26(火) 08:14:44.32 ID:k7xJfbWJ0.net
Javaの instanceof っぽいのが欲しいかな

59 :名称未設定:2014/08/26(火) 09:21:09.66 ID:2UMJDwPt0.net
>>58 === じゃダメ?

Identical to (===)
Not identical to (!==)
Use these operators to check whether two constants or variables refer to the same single instance:

60 :名称未設定:2014/08/26(火) 10:15:20.71 ID:KxpwCchCi.net
>>58 is じゃダメ?
is Type check
as Type cast

class Animal {
}
class Cat: Animal {
}

let mike: Animal = Cat()
mike is Cat

61 :名称未設定:2014/08/26(火) 15:55:22.87 ID:+d5Roq1z0.net
swift…じゃなくXcodeの問題だけど、デバッガで停止して
po object
とかしても中身が表示されないし
無限ループにはまってしまったから一時停止してもループのところに止まってくれないし
エディタが正しく動作しなくて編集不能になったり無関係な位置に
スクロールが飛んだりするし
ObjCよりビルド時間が長いような気がする

Xcode6の正式リリースには使い物になるんだろうか。

62 :名称未設定:2014/08/26(火) 16:35:30.31 ID:gctiERkfi.net
>>57 Objective-C バージョンを作った日本人の解説があった
http://d.hatena.ne.jp/KishikawaKatsumi/touch/20130812/1376310484

面白いのは、Objective-Cでは

この方法の課題としてはオーバーロードができないので、
例えばオリジナルの JS ライブラリでは `startOfLine()` と `startOfLine(bool)` という 2 つのメソッドがあるのですが、Blocks のプロパティだとどちらも同じ名前になってしまうので、引数付きのものだけ用意されています。

とあり、Swiftでは苦もなく解決出来てて
Swiftの存在ありと言う所

-------
このgithubのObjective-C バージョンに対する攻撃を見ると面白いよ。
https://github.com/VerbalExpressions/ObjectiveCVerbalExpressions/pull/3#issuecomment-33791698
JS likeにせずに [[[[[が続くObjCスタイルにしろとか、両方のスタイルをサポートしろとか勝手な事を言ってる

63 :名称未設定:2014/08/26(火) 20:54:18.28 ID:FYP2uErM0.net
多分次がGMだよね?
本格安定は8.1になるんだろうか・・・

64 :名称未設定:2014/08/26(火) 22:16:10.22 ID:2UMJDwPt0.net
>>63 そんなに早く無いだろ。 iPhone6発売直前にGMだろ、間にもう一、二回有ると思う

65 :名称未設定:2014/08/26(火) 22:21:01.61 ID:FYP2uErM0.net
噂通り9/9にイベントならその日にGMリリースでしょう
もう新しくベータを出す時間無いですやん

66 :名称未設定:2014/08/26(火) 22:26:17.24 ID:baeJT5kI0.net
今夜出なかったらもう無いな
Swiftの仕様確定宣言ぐらいはあるんじゃね

67 :名称未設定:2014/08/26(火) 22:30:48.71 ID:2UMJDwPt0.net
そうか、発表後2週間後に発売なら9/9にGMが必要だね

68 :名称未設定:2014/08/27(水) 01:27:42.78 ID:ZIOV5u9Y0.net
いよいよxcode6.0βが近づいて来ましたね^^
Swiftの超加速間近で勃起が治まらないっすわ^^

69 :名称未設定:2014/08/27(水) 01:28:28.46 ID:ZIOV5u9Y0.net
訂正>>68→xcode6.0β脱皮ね^^

70 :名称未設定:2014/08/27(水) 10:45:28.00 ID:4EKTwo0Y0.net
substringToIndex がエラーになるんだけどどうしてだろ?

var suffixes = "ABCD"
suffixes.substringToIndex(2) // これがエラーになる

"ABCD".substringToIndex(2) // これだとOK "AB" 

71 :名称未設定:2014/08/27(水) 11:24:52.42 ID:SBZWoHoj0.net
>>70
suffixes.substringToIndex(advance(suffixes.startIndex, 2))
エラー内容や補完の型情報ちゃんと読めよ
IntじゃなくてString.Indexが要求されてる

ちなみにこれでもいい
(suffixes as NSString).substringToIndex(2)

"ABCD".substringToIndex(2)
こっちがOKなのはsubstringToIndex(Int)を読んでるからリテラルをNSStringと型推論してるから

72 :名称未設定:2014/08/27(水) 11:30:50.18 ID:4EKTwo0Y0.net
解決
In beta 4, Swift's String.Index handling changed yet again -- you now can't supply an Int when a String.Index is expected.
The way to handle it is by creating the String.Index you need using the advance method:

var suffixes ="ABCDEFGHI"
var ix = advance(suffixes.startIndex, 2)
suffixes.substringToIndex( ix ) // こうしないといけないらしい "AB"

suffixes[2] // これも使えなくなって
suffixes[ix] // advance を使わないといけないらしい "C"

//rangeもそう
let startIndex = advance(suffixes.startIndex, 3)
let endIndex = advance(startIndex, 4) //startIndex+4 > 7
let range = startIndex..<endIndex // same as let range = Range(start: startIndex, end: endIndex) 3..<7
suffixes[range] // "DEFG"

こんなの変更履歴に書いていないよ 何処に書いてある?
めんどくさ過ぎる。 早くすっきりした仕様で整理してほしいよ

73 :名称未設定:2014/08/27(水) 11:32:29.76 ID:Le72VMEU0.net
これもダメなのね

let s = "ABCD".substringToIndex(2)
s.substringToIndex(1) ← エラー

気が利くというか利かないというか...

74 :名称未設定:2014/08/27(水) 11:34:08.77 ID:Nfqu/a7Wi.net
スナップショットで見れば別に困らないわけで
仕様変更があるベータを使うのは初めてか?力抜けよ

75 :名称未設定:2014/08/27(水) 11:42:33.55 ID:Le72VMEU0.net
了解で〜す \(^o^)/

76 :名称未設定:2014/08/27(水) 11:47:38.68 ID:4EKTwo0Y0.net
>>71 エラー情報を見ても String.Index 型をどうやって作ればよいかが解らなくて
Swiftマニュアルに何も書いていないからね StringはSwiftの型なのに

表面ではStringからNSStringをシームレスに使えると言ってて細かな所で2つに分かれていたりすると訳が解らなくなる

77 :名称未設定:2014/08/27(水) 12:13:23.56 ID:Nfqu/a7Wi.net
>>76
Appleの言うことを鵜呑みにするから
適当に疑って使わないと馬鹿になる

78 :名称未設定:2014/08/27(水) 12:17:15.79 ID:Nfqu/a7Wi.net
>>75
>>74>>73宛だよ
あんたに言ってんじゃないよw

79 :名称未設定:2014/08/27(水) 13:34:14.23 ID:16tGPY700.net
Xcode6がbeta5からbeta6になって治ったバグ

1 * 0.99 //0 (beta5バグ) 0.99 (beta6修正)
0.99 * 1 //0.99

1 + 0.99 //1 (beta5バグ) 1.99 (beta6修正)
0.99 + 1 //1.99


ところで、現時点beta6での仕様だが、
リテラル(1.0とか、"abc"とか文字で表現された定数値)の扱いが
NSNumberクラス型(正確にはクラスクラスタ)やNSString型になっていて、

一方で変数の扱い var s = "abc"や var i = 1 では、
String型やInt型に型付けされるので慣れないと混乱がある。

上のi = 1を使った
var j = i * 0.99 // jは0となり、こちらは「バグじゃなく仕様です。Xcode6 beta6時点。」となっている。
まず 変数iで左辺がInt型に型推論され、
それに従って0.99のNSNumber型のIntValueである0が適用され、1 * 0が0になるため。


Swiftの強力な型推論は、スクリプト言語のような(見た目も)易しい記述と
ネイティブコードの高速実行(実行中に変数の型チェックをしないで済む)を両立させている。
十数種類もあるメジャーなプログラミング言語候補の中では、
これを両立しているのが今のところSwiftしかない、たぶん。

ただ、上のように、Objective-Cとの連携も絡めた文法の調整などで、まだ流動的な部分はありそう。

80 :名称未設定:2014/08/27(水) 13:37:46.56 ID:16tGPY700.net
>>79
x まず 変数iで左辺がInt型に型推論され
o まず 変数iで右辺がInt型に型推論され

81 :名称未設定:2014/08/27(水) 16:33:11.57 ID:IL0SVQG+0.net
遊びでいじるなら面白いけど、まだ正式開発可能な段階には遠いな。
iOS8リリースと同時にストアに出すような計画してるところは、大変だろうな。
Xcode6正式リリース+仕様変更+大急ぎでコードの手直し

なんて事がありそう

82 :名称未設定:2014/08/27(水) 18:34:22.50 ID:s//PLoRT0.net
ベータの初期でまだSwiftでリリースじゃないなと思うだろ普通。iOS8リリースと同時にストアに出すような計画しているところなら特に
まあ、それでもSwiftで薦め続けたところが無いと言えないだろうが、自業自得/無計画と言わざるを得ない。ベータの初期であーだったんだから

83 :名称未設定:2014/08/27(水) 18:59:47.27 ID:CadjDfS3i.net
>>82 全く日本語が理解できない どこの国のおかた?

84 :名称未設定:2014/08/27(水) 19:06:23.12 ID:s//PLoRT0.net
わからなくていいよ。自分のわからないのは日本語/日本人じゃないという単細胞ならとくに
社会に出たらわかると思うけど、俺でもなに言っているのかちょっとわからない文を書く社会人はいっぱいいる。もちろん生粋の日本人でw

85 :名称未設定:2014/08/27(水) 19:11:34.57 ID:s//PLoRT0.net
あー、
>>82
×薦め
○進め
誤字ったなと思ったが、まあわかるだろうとほっといた。すまん
まあ、まさかそれだけではないだろうけど

86 :名称未設定:2014/08/27(水) 19:14:12.09 ID:lwI3W8wFi.net
何言ってるか理解する必要は無さそうだけど
とりあえず、Shimejiがどうなるか楽しみだな
あの作者、 swiftでiOS IME作るって息巻いてたろ

87 :名称未設定:2014/08/27(水) 19:15:01.31 ID:lwI3W8wFi.net
typo. simeji

88 :名称未設定:2014/08/27(水) 19:22:26.82 ID:s//PLoRT0.net
そいうのはSwiftでやるのが第一なんだろうから苦しみでも何でもないんじゃないの。建前上はw
まさか Swift GM (Xcode 6 GM?iOS 8 GM?) が出た後でも、まだころころ実行に影響するようなとこを変えたりしないだろうし。ちょっとした産みの苦しみみたいなもの?Swiftがとんでも好きなら苦しみも微々たるものなんじゃね

89 :名称未設定:2014/08/28(木) 01:02:01.28 ID:mW3D6gIp0.net
変えまくるやろ
固定するより便利で分かりやすくする方が大事やろ

90 :名称未設定:2014/08/28(木) 07:07:24.11 ID:AA+1eZoo0.net
はぁ?

91 :名称未設定:2014/08/28(木) 07:46:21.66 ID:cNGtrjCE0.net
String / NSString周りの仕様は大幅に変わると思うよ
ライブラリだからと言う理由でなんでも変更可能

NSString用のメソッドは全てString 用に作り直す必要が有るのでは?

この辺りがGMまでに整備されるとは思えない
NSStringを全てStringにするとなると全てのライブラリが書き直されるまで長い期間がかかりそう

Stringで1バイト文字から4バイト文字まで統一して扱えるのは素晴らしい事だがそれに伴う影響は甚大なものがある
実行時にチェックする必要もありパフォーマンスにも影響するね
そろそろ文字列操作専用エンジンを持つCPUが必要な時期では? OpenCL ?

92 :名称未設定:2014/08/28(木) 09:42:11.13 ID:E9kIrrxp0.net
NSなんちゃらを全て排除で頼む

93 :名称未設定:2014/08/28(木) 11:02:36.54 ID:iohyzG5R0.net
あえてCocoaの正規表現API使わずにSwiftだけで正規表現複数マッチ書いたらすごい回りくどくなってしまった
俺のコーディング力が糞なせいもあるけど

94 :名称未設定:2014/08/28(木) 11:53:33.96 ID:3X/G85AU0.net
memberwise initializerのいい訳語を教えてくんなまし

95 :名称未設定:2014/08/28(木) 12:25:53.93 ID:HedrfL4e0.net
メンバーワイズイニシャライザ

96 :名称未設定:2014/08/28(木) 12:26:49.16 ID:cNGtrjCE0.net
メンバ変数初期化

97 :名称未設定:2014/08/28(木) 12:30:31.17 ID:HedrfL4e0.net
マジレスするとApple公式日本語訳を待て
年内には出るだろ

98 :名称未設定:2014/08/28(木) 12:55:34.40 ID:3X/G85AU0.net
MSも、訳してなかったり、「メンバーごと初期化」とか使ってるから
Appleの中の人もあまり期待できないかもね

ttp://msdn.microsoft.com/ja-jp/library/vstudio/x0c54csc(v=vs.110).aspx

99 :名称未設定:2014/08/28(木) 13:03:46.86 ID:oruOVbax0.net
チンポが賢くなるイニシエーション

100 :名称未設定:2014/08/28(木) 15:06:11.31 ID:cNGtrjCE0.net
Wikipedia が冗長だけど解りやすいかも

メンバをすべて引数に受けとるイニシャライザ(memberwise initializer)

101 :名称未設定:2014/08/28(木) 15:29:38.90 ID:cNGtrjCE0.net
ここのパイプラインオペレータの作り方がおもしろかった

http://vperi.com/2014/06/05/function-composition-pipelining-in-swift/

102 :名称未設定:2014/08/28(木) 21:04:07.00 ID:cNGtrjCE0.net
>>101 そこの |> パイプラインの関数の例えば plusOne , plusTwo 等の代わりに plus( x ) は
どうやればできるんだろう

func plusOne (x:Int) -> Int { return x + 1 }

infix operator |> { associativity left }
func |><T,U> (left: T, right:( T ) ->U ) -> U { //<<-- ここ?
return right(left) // <<-- ここ?
}
例 10 |> plusOne |> plusOne //11

これらを 次のようにするには?
// func plus (x:Int , y:Int) -> Int { return x + y } //?

例  10 |> plus(9) |> plus(1) //20 

103 :名称未設定:2014/08/28(木) 21:53:38.87 ID:HedrfL4e0.net
>>102
カリー化すればいいんじゃないの

104 :名称未設定:2014/08/28(木) 22:13:58.72 ID:TZcfoxvhi.net
とんちんかんな質問に見当外れのレスを返すスレはここですか?

105 :名称未設定:2014/08/28(木) 22:19:57.68 ID:cNGtrjCE0.net
>>102 上の例は 間違い 
10 |> plusOne |> plusOne //12

>>103 お手本をお願いできませんでしょうか?

106 :名称未設定:2014/08/28(木) 22:29:34.74 ID:HedrfL4e0.net
>>105

func plus (x:Int , y:Int) -> Int { return x + y }

// plus をカリー化した関数
func curriedPlus(x: Int) -> (Int -> Int) {
return {(y: Int) -> Int in
return plus(x, y)
}
}

10 |> curriedPlus(9) |> curriedPlus(1) //20


拡張して
// 任意の2引数の関数をカリー化する関数
func curry<T1, T2, U>(f: (T1, T2) -> U) -> T1 -> T2 -> U {
return {(a: T1) -> (T2 -> U) in
return {(b: T2) -> U in
return f(a,b)
}
}
}

10 |> curry(plus)(9) |> curry(plus)(1) //20

107 :名称未設定:2014/08/28(木) 22:37:58.64 ID:cNGtrjCE0.net
>>106 有難うございました

108 :名称未設定:2014/08/29(金) 09:48:57.01 ID:oGzfMTTC0.net
Swiftのアプリって最低でも8MBの容量食うんだ…名前の割に図体はデカくなるんだな。

109 :名称未設定:2014/08/29(金) 09:56:55.04 ID:GoVEuopWi.net
2HDのフロッピーディク6枚分か...でかいな

110 :名称未設定:2014/08/29(金) 10:43:25.70 ID:il9/LOo/i.net
軽いOSなら余裕で入るな、、、

111 :名称未設定:2014/08/29(金) 11:51:00.69 ID:ZHZYbKWZ0.net
つまり軽いOSが入ってるようなものなんだよ

112 :名称未設定:2014/08/29(金) 13:31:32.45 ID:Ojvt7SYW0.net
ObjCのアプリは最低で何MBなんだろ

113 :名称未設定:2014/08/29(金) 14:31:24.72 ID:5zUL9CHC0.net
とりあえず、1M台はざらにあるな

114 :名称未設定:2014/08/29(金) 14:39:57.82 ID:oGzfMTTC0.net
Xcode6でMaster-Detail型iOSアプリのひな形をそのままビルドした場合
Swift 8.1MB(バイナリ201KB)
ObjC 178KB(バイナリ144KB)

115 :名称未設定:2014/08/29(金) 15:14:16.75 ID:6D4rJBQxi.net
swiftは swift <-> obj-c ラッパーライブラリがでかいのか?
何にせよバイナリロード(起動)に時間かかりそうだなw

116 :名称未設定:2014/08/29(金) 15:31:42.23 ID:4uhqaFyf0.net
swiftのメリットが全くなくなるわ。
メモリ効率はスマフォにおいて重要なものの一つだろ
β版だけの問題だと信じるしかないな

117 :名称未設定:2014/08/29(金) 15:33:13.03 ID:oCBeAgnN0.net
コンパイルされたバイナリの大きさってどうやって調べられるの?

118 :名称未設定:2014/08/29(金) 15:41:03.70 ID:oGzfMTTC0.net
https://developer.apple.com/swift/blog/?id=2

Xcodeがサイズの小さな()Swiftのランタイムをアプリに埋め込むので、OSの
バージョンにかかわらずアプリを実行できます。

Swift自体もOSに関係なく今後ガンガン変わるかもしれないよ!ということですね。

119 :名称未設定:2014/08/29(金) 15:46:43.77 ID:oGzfMTTC0.net
>>117
アーカイブを作ってFinderに表示、右クリックでパッケージをあけつつ階層をもぐっていく。

120 :名称未設定:2014/08/29(金) 16:02:28.14 ID:lb5Y55+Ji.net
>>119
おぉ!でけました。サンクス!

121 :名称未設定:2014/08/29(金) 16:41:25.70 ID:SdNeS3cvi.net
>>115
ラッパーではなく一種のランタイムをバイナリのケツにくっつけてるんではないかと想像。
想像が当たっていれば、各OSのバージョンが上がって行くに連れて解消していく問題と思われるが、さて。

122 :名称未設定:2014/08/29(金) 16:42:08.16 ID:SdNeS3cvi.net
ああ、>>118に答えが書いてあるのか、失礼。

123 :名称未設定:2014/08/29(金) 21:14:08.58 ID:acSUXh6Y0.net
コマンドラインでhelloworldやると24kbだった。まあこんくらいなら納得。cで8kbだし
gobjdump -dするとARC絡みっぽいシンボルが大量にあってランタイム部分なのも見て取れる

そうなるとiOSアプリでの8MBってのはなんなんだろか

124 :名称未設定:2014/08/30(土) 06:58:58.93 ID:Arr9XNky0.net
>>123 デバッグモードでコンパイルしたものを見たのでは?
Moduleを見れば良いんでしょ?

.swiftmoduleだけだと小さいよ

125 :名称未設定:2014/08/30(土) 12:30:43.34 ID:OXD+cSPB0.net
Xcodeで.appにパッケージ化すると.dylib類を全部パッケージに突っ込むんだよ
そうじゃないとXcodeが入ったマシン以外で起動しなくなる

126 :名称未設定:2014/08/30(土) 12:39:01.89 ID:37B1kD1vi.net
>>118
ああ、ラッパーどころかランタイムか
小さい()ならいい方法だな!

127 :名称未設定:2014/08/30(土) 12:47:39.87 ID:rSjISQH50.net
 現状、プログラミング初心者にMacやiPhone,iPadを買わせるための営業ツールだからな。
仕事で使う場合はXcode7からでいいと思う。

128 :名称未設定:2014/08/30(土) 23:42:16.73 ID:9tS8oI950.net
プログラマ板が壊れたみたい

129 :名称未設定:2014/08/30(土) 23:55:18.86 ID:Arr9XNky0.net
Swiftで文字列操作のライブラリ整備が遅れてるのはどうしてだと思う?

130 :名称未設定:2014/08/30(土) 23:57:15.54 ID:1hOftm3q0.net
>>128
壊れてないと思うんだけども。

131 :名称未設定:2014/08/31(日) 00:41:20.96 ID:ltyjB3vT0.net
>>128 今は回復してるけどちょっと前は壊れてたね。
>>129 Swift Blogを見たら Objective-C API のSwift 版を作成中だと書いてるからそう遠くなく整備されるのかな?

132 :名称未設定:2014/08/31(日) 01:26:45.40 ID:mtB0941q0.net
>>129
・NSStringがあるから
・ほかに優先度の高いやることがまだたくさんあるから

133 :名称未設定:2014/08/31(日) 01:28:30.16 ID:mtB0941q0.net
>>131
>Swift Blogを見たら Objective-C API のSwift 版を作成中だと書いてる

そんなことどこに書いてる?

134 :名称未設定:2014/08/31(日) 02:27:04.11 ID:T5gKmGpP0.net
たぶん
>We're going to create a Swift version of an Objective-C API.
を見て勝手に妄想したんだろうね

相変わらずこの痛い子は英語がろくに理解できないようだけど
これは単にoptionalの説明をするためにObj-CのvaluesForKeys相当のものを
Swiftで実装してみよう、というcase studyの話をしてるだけだね

135 :名称未設定:2014/08/31(日) 02:28:46.18 ID:ltyjB3vT0.net
https://developer.apple.com/swift/blog/?id=12
Aug 26, 2014
Optionals Case Study: valuesForKeys

We’re going to create a Swift version of an Objective-C API.

ごめん、感違いしたみたい。an になってるから
単にvaluesForKeysだけの事だった。

136 :名称未設定:2014/08/31(日) 10:13:11.90 ID:fasEsd+Ki.net
今試せないんだけど、リリースビルドでのバイナリの容量はどうなってる?8MBも増えたらアプリの種類によってはダウンロード数に影響あるよ。

137 :名称未設定:2014/08/31(日) 10:52:07.59 ID:DsdCuifa0.net
>>118だから実際のアプリには関係のない話だろ

138 :名称未設定:2014/08/31(日) 10:58:28.83 ID:D6QxKOFCi.net


139 :名称未設定:2014/08/31(日) 13:35:15.11 ID:/8D0MJ5r0.net
ストアでの配布サイズは>>118のように8MB必須でしょ。
OSのバージョンにかかわらず起動できるようにするというので。

で、インストール時にiOS8が不要なランタイムを削除する…ってことはあるのかな。
多分無いだろうな。バンドルされたランタイムのサイズは小さい()から

140 :名称未設定:2014/08/31(日) 19:06:40.72 ID:iTJ3SWIGi.net
>>137
もしかして英語の読めないお人?

141 :名称未設定:2014/09/01(月) 04:00:05.18 ID:vol+Lhb30.net
殆どは英語読めない層だろw

142 :名称未設定:2014/09/01(月) 10:28:45.20 ID:gEqrnRvai.net
英語どころか日本語すら危ない
逆に英語の方が得意なんじゃね?

143 :名称未設定:2014/09/02(火) 15:36:30.49 ID:8BHe5OCy0.net
指定イニシャライザとコンビニエンスイニシャライザの継承周りがちょっと分かりにくいよね
特に、コンビニエンスイニシャライザからはスーパークラスのイニシャライザを呼べないところとか、再定義していもオーバーライドにならないところとか

144 :名称未設定:2014/09/02(火) 16:01:11.31 ID:1/y4mnPl0.net
Swiftで一つアプリケーション作ってみたけど、
肝心のXcode6の機能がぜんぜんだめ。
extensionを書くとシンタックスカラーリングが使えないバグ。
シンタックスカラーリングをオフにすると自動補完使えない。
特定のコードを書くと場合にコンパイル不能になるバグ
デバッガで途中で止めても変数の中身が表示されない(仕様?)
ビルドに異様に時間がかかる
完成したアプリケーションが大きい

StringとNSStringがいまいち違うからObjCから移植しようとすると大変
!と?の書き分けはいいんだけどデバッガが適切に教えてくれない。

Tupleで変数を返せる、クロージャを渡せるのがブロックとくらべてちょっと
簡単になった

こんなのを仕事で使わされている人が居たらかわいそう。

145 :名称未設定:2014/09/02(火) 16:16:45.71 ID:8BHe5OCy0.net
9月9日の新機種発表会で、バグが一掃された素晴らしいXcode6の正式版がリリースされるはず
それまで辛抱だな

146 :名称未設定:2014/09/02(火) 16:39:09.90 ID:8BHe5OCy0.net
しかし、イニシャライザのrequiredってどうゆう時に使うんだろ
使いどころで今一わからない

147 :名称未設定:2014/09/02(火) 17:04:24.66 ID:GFyun9xmi.net
Stringを as NSString とみなして使って行けばNSString系の世界ではあまり混乱は無さそうに思うけど、
unicode 文字コードは適切に変換されて行くんだろうか?

as って便利な様で怖そうな機能に思う。 その時点でチェックや適切な変換が行われれば良いけど

148 :名称未設定:2014/09/02(火) 17:20:25.04 ID:8BHe5OCy0.net
ユニコード同士だから大丈夫でしょ
文字列の長さは違ってくるだろうけど

149 :名称未設定:2014/09/02(火) 17:26:24.91 ID:zb/r1ME5i.net
>>145
それは過信だと思うが

Xcodeのへっぽこさは今に始まったことじゃないし慣れだよな
使い勝手が悪くても他に選択肢ないし、我慢して使うものだ

150 :名称未設定:2014/09/02(火) 22:47:44.74 ID:cdkAfg1g0.net
さすがに来週発表のバージョンでXcodeのバグが一掃とは思えないな。Swiftに関しては特に。
iOS 8もバグが残ったままでマイナーアップでなんとか改善していくだろう。

151 :名称未設定:2014/09/03(水) 00:58:40.12 ID:HJtv0c2R0.net
>>149 unicodeと言っても何種類も有るけど、Swift内部コードはUTF8で統一されてるんだっけ? UTF16?
ObjCはUTF16だろ? 混在の恐れは無い?

152 :名称未設定:2014/09/03(水) 01:25:56.94 ID:F8lBussB0.net
C string じゃないんだから

153 :名称未設定:2014/09/03(水) 01:54:51.68 ID:DYIlNI670.net
>>147,151
印象だけで怖そうとか言ってないで検証コードの一つも書けよクズ

154 :名称未設定:2014/09/03(水) 07:57:32.52 ID:1Gp4nk9Ji.net
>>151
swiftコードをビルドしたらobj-cヘッダを作るくらいに親和性()あるし気にするべくもなし

155 :名称未設定:2014/09/03(水) 09:52:58.75 ID:I0IIaP4Gi.net
Swiftのアイコンって、ちんこがまんこにににゅ〜って入ってくとこみたいだよね

156 :名称未設定:2014/09/03(水) 11:06:08.58 ID:Z7GU/3ue0.net
Swiftって、インスタンスの参照カウントがいくつなのか調べることはできないんでしょうか?

157 :名称未設定:2014/09/03(水) 11:46:14.91 ID:ASEWNvs40.net
>>156
ObjCにSwiftオブジェクトを渡してやれば?
ObjCでも、デバッグ以外の目的で参照カウントに頼るのは良くないけど。

158 :名称未設定:2014/09/03(水) 17:01:07.24 ID:Z7GU/3ue0.net
>>157
ARC環境だからNSObjectを継承してもretainCount()は呼び出せないんですね
ありがとうございました。

159 :名称未設定:2014/09/03(水) 17:12:07.68 ID:I0IIaP4Gi.net
♪ベータは続くよどこまでも〜

160 :名称未設定:2014/09/03(水) 17:38:34.59 ID:tmORLOhj0.net
>>158
ObjCならファイルごとにARC On/Offを切り替えられるよ。一つのアプリに両方混在できるし。

161 :名称未設定:2014/09/03(水) 17:40:34.25 ID:DYIlNI670.net
CFGetRetainCount

162 :名称未設定:2014/09/03(水) 17:41:24.45 ID:llKrbsv60.net
CFGetRetainCount
という手もあるが、暗黙的に1個(?)余計にretain(&autorelease?)されているっぽい?

163 :名称未設定:2014/09/03(水) 17:41:59.22 ID:llKrbsv60.net
あ、被った。すまん

164 :名称未設定:2014/09/03(水) 18:24:26.90 ID:9uD60Vdo0.net
>>155
すごい、この発想はなかった。背景と絵柄を逆転して見るとそう見えなくもない。
チャレンジングな視点が新しいソフトウェア開発を切り開いていくに違いない、けどそうでないかも知れない、どっちだ?

>>156
>>157
>>158
できる。
NSObject無しのSwift単体でオブジェクトの参照カウントチェックは可能。

まず、SwiftのファイルMySwift.swiftに、NSObjectでないクラスを作る。

@objc class MySwiftNonNSObject {

class func myNewMethod() -> MySwiftNonNSObject
{
return MySwiftNonNSObject()
}

init() { NSLog("I'm Swift.") }
}

(続く)

165 :名称未設定:2014/09/03(水) 18:27:57.96 ID:1Gp4nk9Ji.net
もうちょっとだけ続くんじゃよ

166 :名称未設定:2014/09/03(水) 18:28:15.23 ID:9uD60Vdo0.net
>>164 (からの続き)
次に、Objective-CファイルMyObjC.mを一つ足して、その中に(仮想的な?)ヘッダとコードを書いて、testメソッドを動かす。

#import "プロジェクトの名前-Swift.h"

- (void)test
{

MySwiftNonNSObject *obj =
[MySwiftNonNSObject myNewMethod];

uintptr_t _objc_rootRetainCount(id obj);
NSLog(@"Swift retain count = %lu \n",
(unsigned long)_objc_rootRetainCount(obj) );

}

動作確認済み。

167 :名称未設定:2014/09/04(木) 09:39:57.32 ID:p7bZOX6pi.net
しかし、先走ってSwift関連の本だしたとこも、仕様の変更に追随しないといけないから大変だな
追随....してんのか?

168 :名称未設定:2014/09/04(木) 10:11:10.94 ID:33CV5hZ+0.net
>>167
Swift離陸ガイドは正式版までは追随すると言ってるし、実際b6までは対応済み。
他は知らないけど、紙の本とかは無理じゃないかな。

169 :名称未設定:2014/09/04(木) 10:16:54.57 ID:CI5Oq+czi.net
紙の本は第x版って更新するものだろ...
単発の swift本 にそこまで金かける理由もないだろうがw

170 :名称未設定:2014/09/04(木) 12:35:11.44 ID:N5VCKixf0.net
正式版っつってもなぁ
バイナリ埋め込みのランタイムで互換性確保してるから、この1、2年はSDKのバージョンアップサイクル無視してSwiftだけ変更入りまくる気がしないでもない

171 :名称未設定:2014/09/04(木) 13:59:53.21 ID:WnF1utAC0.net
紙の本もウエブで訂正を出してるし、例題も訂正済みの物をダウンロードできるようにしてるよ
紙の本でもう第2版が出てるのも有る

でもなんでこんな時期に紙の本を出すかな。 かなり高い金額でも買う人間が多いからかもしれないけど

172 :名称未設定:2014/09/04(木) 17:57:13.16 ID:18NULd310.net
AppleはCocoaではAPI更新しても旧OSに対するランタイムの配布はしたことがないから
ランタイム同梱のSwiftでどういう措置をとるのかは興味深い

173 :名称未設定:2014/09/04(木) 20:33:11.18 ID:WnF1utAC0.net
β7 の内容を見る上手く行ってiPhone6発売日にGM位じゃ無いかな

174 :名称未設定:2014/09/04(木) 20:55:35.63 ID:p7bZOX6pi.net
中の人は今頃徹夜続きなんだろうな

175 :名称未設定:2014/09/04(木) 23:00:51.90 ID:hoOiHEaH0.net
ゲーム屋なんだがUnityに完全移行したわw
アップルのオレオレ路線ともオサラバwwww

176 :名称未設定:2014/09/04(木) 23:11:39.43 ID:dLu09CnA0.net
オレオレ路線に追従しているのがUnityなんだがな。自分の無能を他のせいにしない方がいいよ

177 :名称未設定:2014/09/04(木) 23:38:58.83 ID:xamwygYX0.net
オレオレ路線はUnityに任せて
Mac以外にもゲームが出せる、
ええことやろ

178 :名称未設定:2014/09/04(木) 23:43:39.81 ID:p7bZOX6pi.net
ベータ7をDLしたら、Swiftのプロジェクトをシミュレータで動かせなくなったんだが
俺だけかね?

179 :名称未設定:2014/09/04(木) 23:50:10.60 ID:uw4vkcb0i.net
>>173
それはいつものことだろ
何を言ってるんだ?

180 :178:2014/09/04(木) 23:53:52.55 ID:p7bZOX6pi.net
いや、Mac再起動したら治った
スマソ

181 :名称未設定:2014/09/05(金) 01:30:09.61 ID:s0smc+xM0.net
モデルのロジックも、コントローラのロジックも、ObjC, Cでも、Swiftでも混在で使い分けしたいなぁ。今の所は。
Cocoaとかフレームワークとの連携はまだ前者の方がしっくり行く。
でも後者Swiftの自由さと言うか柔軟性も魅力的。早くフレームワークとの歴史が深まる事が肝要か。つまり、ある程度出来たら、実験的でも正式扱いで世に出すのが良いかも、ね。

182 :名称未設定:2014/09/05(金) 01:51:03.78 ID:NUi7DK0j0.net
自由さなんて明らかにObjC+Cの方が上なんですが

183 :名称未設定:2014/09/05(金) 02:04:32.88 ID:NgC06ey40.net
[[[ObjC alloc] init] retain];

184 :名称未設定:2014/09/05(金) 06:35:26.28 ID:VoKULWiU0.net
xcodeをベータ7にしたら大量のエラーとワーニング
いい加減仕様を確定させて・・・

185 :名称未設定:2014/09/05(金) 12:33:41.94 ID:yybHeIEq0.net
>>183
1行で使ったこと無いのがわかるなw

186 :名称未設定:2014/09/05(金) 18:00:14.35 ID:dso9Gzoz0.net
当初に比べるとスレの勢い落ちたよな
もうみんな飽きたのか?

187 :名称未設定:2014/09/05(金) 18:13:37.17 ID:CNu17Wmwi.net
夏休みが(ry

188 :名称未設定:2014/09/05(金) 18:15:01.39 ID:i7/oiyon0.net
凄まじいばかりの怒濤の仕様変更への追随にみんな疲弊してしまったよね

189 :名称未設定:2014/09/05(金) 19:05:34.37 ID:exGL6IQui.net
だってもう使ってる人間しか話題に入れないだろうし、使ってる人間は忙しいだろうからGM以降にならないと発言してる暇はあまり無いだろ。

そう言えば子飼はダウンロード中に暇つぶしの発言をするくせが有るみたいだが、今回は何か発言あったかな
と見たらしっかり発言してた

190 :名称未設定:2014/09/05(金) 19:10:54.12 ID:exGL6IQui.net
>>189
Optional型に関するさらなる改良
http://qiita.com/dankogai/items/0e8bdf6a32cca2ed2b7d

今回ははじめて更新してからこれを書いたのですが、私がgithubに上げている主なswiftプロジェクトはほとんど無変更で動きました。一月前ぐらいが嘘のようです…

Xcode 6 Beta 7での変更点への対応
http://qiita.com/waytoa/items/f5692327dbca832f40e4

191 :名称未設定:2014/09/05(金) 19:18:51.70 ID:bD9cERru0.net
まさか言語仕様を固める前のシロモノにbetaなんてマーキングするとは思わなかったよ
alpha以前だろこれ

192 :名称未設定:2014/09/05(金) 20:32:21.72 ID:yybHeIEq0.net
まあalphaでもいいと思うけど。動いてみせられるのだから
betaにしては仕様変更おおすぎというのは大きくうなずく

193 :名称未設定:2014/09/05(金) 23:32:46.35 ID:nDRwZXJ90.net
でも来年になって色々変えたら怒るやろ?

194 :名称未設定:2014/09/05(金) 23:40:20.18 ID:0YxLFe980.net
いや来年また色々変わるのは確実だろw

195 :名称未設定:2014/09/06(土) 00:34:11.58 ID:xDPvY3/10.net
>>185
やっと突っ込み入れてくれる人がいた
retainとalloc一緒に書くことなんて普通ないからなw

Objective-Cなくなってほしくないというメッセージのつもりっすw

普通書くとしたら、
[[[Obj alloc] init] autorelease];
とかだな

196 :名称未設定:2014/09/06(土) 00:35:10.68 ID:JXSZ4ik/i.net
ARC使えよ原始人

197 :名称未設定:2014/09/06(土) 00:36:42.90 ID:xDPvY3/10.net
>>196
この泥臭さが好きなの///

198 :名称未設定:2014/09/06(土) 00:37:57.30 ID:k9uJ3Ll/0.net
Objective-C 2.0 が最初のからちょこちょこ変えたぐらい、または、それ以上に変わるかもしれないが、
一度は仕様を固めないとおちおち使ってらんねえってとこだな。betaだから後方互換なにそれだろうが、一度固めた仕様のは後方互換をちゃんとするだろう。たぶんw

199 :名称未設定:2014/09/06(土) 00:41:10.17 ID:SMLEvxfR0.net
基本言語仕様自体は単純で変幻自在だから、言語仕様は変わらないでもライブラリの変化は結構有ると思うよ。
String 、Array 、+ などのオペレータまでライブラリ扱いだからな。なんでもありな気がする。 拡張の方向での変化なら歓迎だけど

200 :名称未設定:2014/09/06(土) 00:42:29.80 ID:k9uJ3Ll/0.net
>>195
その言い分を信じてやろう…w

201 :名称未設定:2014/09/06(土) 00:49:01.76 ID:xDPvY3/10.net
>>200
ありがとう!w

202 :名称未設定:2014/09/06(土) 01:09:51.52 ID:rtTvcgT30.net
まあでも、ARCがない頃のソースを見て、ニマニマすることがあるので、わかる気がする。
新しく作るならARCなしは嫌だけど

203 :名称未設定:2014/09/06(土) 01:43:31.59 ID:gq1fEixt0.net
そもそもObjじゃなくてClassだろっていう

204 :名称未設定:2014/09/06(土) 01:49:21.31 ID:xDPvY3/10.net
>>203
これでどうだw

[[[Class alloc] init] autorelease];

適当にノリで書いてるだけです、すみませんでした
こまかなところは勘弁してください。。

205 :名称未設定:2014/09/06(土) 08:35:39.26 ID:JXSZ4ik/i.net
Classは予約語だろがハゲ!

206 :名称未設定:2014/09/06(土) 10:17:00.77 ID:JXSZ4ik/i.net
下の1と2は出来るけど、3を出来ない様にしたいんですけど、どうしたらいいですか?
friendsプロパティをlet にすると、1と2 もできなくなります。

class Hunter {
  let name: String
  var friends = [Hunter]()
  init(_ name: String) {
    self.name = name
  }
}

let gon = Hunter("ゴン")
// 1
gon.friends.append(Hunter("キルア"))
// 2
gon.friends += [Hunter("クラピカ"), Hunter("レオリオ")]
// 3
gon.friends = [Hunter("ヒソカ"), Hunter("イルミ")]

207 :名称未設定:2014/09/06(土) 10:23:50.06 ID:xDPvY3/10.net
>>205
(´;ω;`)

208 :名称未設定:2014/09/06(土) 11:37:28.47 ID:wmMoN8zKi.net
>>207
Clazzで置き換えたサンプルはよ

209 :名称未設定:2014/09/06(土) 13:08:59.76 ID:pfGf3PlO0.net
>>206

class ArrayProxy<T> {
private var array = [T]()
func append(newElement: T) {
array.append(newElement)
}
}
func +=<T>(lhs: ArrayProxy<T>, rhs: [T]) {
lhs.array += rhs
}

class Hunter {
let name: String
private(set) var friends = ArrayProxy<Hunter>()
init(_ name: String) {
self.name = name
}
}

let gon = Hunter("ゴン")

// 1
gon.friends.append(Hunter("キルア"))
// 2
gon.friends += [Hunter("クラピカ"), Hunter("レオリオ")]
// 3
gon.friends = [Hunter("ヒソカ"), Hunter("イルミ")]

210 :名称未設定:2014/09/06(土) 13:27:41.82 ID:JXSZ4ik/i.net
>>209
あぁそういう配列を作ればいいんですね。めんどくさいけど。
ありがとうござますった。

211 :名称未設定:2014/09/06(土) 13:33:10.25 ID:JXSZ4ik/i.net
あ、でもprivate(set)っていらなくないですか?

212 :名称未設定:2014/09/06(土) 14:02:11.22 ID:JwtUDp9Zi.net
>>206 3番目を禁止したい理由は何?
既に要素が入ってたら上書きを許したく無いと言うだけ?

だったら friends の定義にsetでチェックを入れるだけで済むのでは?

213 :名称未設定:2014/09/06(土) 14:17:28.44 ID:qN6Xn1WA0.net
>>212
いや、たんにObjective-CでのNSMutableArrayのReadOnlyなプロパティと同じようにしたかっただけなんですが、

@interface Hunter : NSObject
@property (readonly) NSMutableArray *friends;
:
@end

よく考えたらSwiftの配列は値型なので意味無かったですね

214 :名称未設定:2014/09/06(土) 14:20:14.18 ID:k9uJ3Ll/0.net
そもそも、
@property (readonly) NSMutableArray *friends;
がおかしいんじゃねっていう、本論とは無関係な話

215 :名称未設定:2014/09/06(土) 14:26:36.51 ID:qN6Xn1WA0.net
>>214
いや無関係ではないですよ
Objective-Cから移植しようとした時に考えることになるから

216 :名称未設定:2014/09/06(土) 15:00:47.64 ID:k9uJ3Ll/0.net
Appleの作ったフレームワークではMutableのプロパティは存在しない(と思う)
そんなの想定外であってもおかしくないな

217 :名称未設定:2014/09/07(日) 19:24:54.60 ID:FqevvFWa0.net
>>216
AVFoundationにあるよ。

218 :名称未設定:2014/09/08(月) 21:11:04.32 ID:f8V+lJ8Ti.net
構造体の参照扱えないのがほんと不便、というかイライラする
たぶん実行速度に対した影響は出ないんだろうけど…

219 :名称未設定:2014/09/08(月) 22:05:01.85 ID:YSlRKdw40.net
>>218
構造体は値型だから、参照扱えたらまずいのでは?

220 :名称未設定:2014/09/08(月) 22:15:08.50 ID:xEndwuJFi.net
あたいもそう思うわ

221 :名称未設定:2014/09/08(月) 23:18:56.01 ID:CC77Hg8l0.net
>>219
いやCライクに使いたいなってこと

222 :名称未設定:2014/09/08(月) 23:36:37.85 ID:vPBF+kQ40.net
Cライクにとはよく分からんけど
C構造体のポインタは宣言できるし
メンバへのアクセスはptr.memory.memberとすればできるでしょ?

223 :名称未設定:2014/09/09(火) 03:40:08.37 ID:I47KakLvi.net
Swiftでは構造体や、配列や辞書も参照型でなく値型にしている。
これは他の有名な言語にはあまりない珍しい性質で、
オブジェクティブCでもNSArrayやNSDictionaryは当然参照型である。

なので、慣れ親しんだ感覚と少し違う手順を踏む必要があるかも知れない、とは言ってもInt値のように値渡しを意識、というだけだが。

例えば、構造体内の各メンバの書き換えには、構造体の中にmutating funcを書かないといけない。
あと、構造体のコピーは値渡しなので、もちろん元データは書き変わらない。

しかし一方で、この値型という性質によりスレッドセーフに扱え、しかもGCDとの合わせ技を使うことで、極めて強力に機能するはず。

プログラマは、スレッドの管理をできるだけGCDに任せて直接タッチせず、
しかも重要で多用されるデータ型式が値型で安全に並列処理できるのであれば、
現状で、主要な実用言語においてほぼ唯一の大きなアドバンテージをSwiftが持っていることになる。

マルチCPU(スレッド)プログラムを神経質にならずにサクッと楽に書けて、
しかもARMやX86のネイティブコードが走るような並列・超高速言語は今、Swiftしかない。

比較的文法が易しくてしかも強力なSwift、いまから勉強しておく価値は絶対にある。

224 :名称未設定:2014/09/09(火) 04:55:45.74 ID:uQDHlG3G0.net
比較的文法が易しくてしかも強力な○○
○○には好きな言語名を入れてね

225 :名称未設定:2014/09/09(火) 07:25:16.37 ID:WiX0nJNmi.net
長いのでオチまで読み飛ばした
オチは悪くなかった

226 :名称未設定:2014/09/09(火) 07:41:23.60 ID:vQ4GqDXy0.net
本当にSwiftは速いの?
ベンチマーク有る?

227 :名称未設定:2014/09/09(火) 08:09:13.79 ID:Ri7kLzFdi.net
今時言語の遅さがネックになるのってよっぽど処理負荷の高い高度なゲームアプリぐらいだろ

228 :名称未設定:2014/09/09(火) 08:34:30.24 ID:Ri7kLzFdi.net
構造体、配列、ディクショナリが値型ってことは、こいつら全部ヒープじゃなくてスタックに置かれるって認識でいいのかな

229 :名称未設定:2014/09/09(火) 09:26:47.32 ID:WFbqoro6i.net
参照ってin outでできるんじゃなかった?

230 :名称未設定:2014/09/09(火) 11:40:30.67 ID:Ri7kLzFdi.net
Playgroundのコードが長くなると、Console outputに出力されるまでに結構タイムラグがあるな

231 :名称未設定:2014/09/09(火) 11:43:55.85 ID:MF2cA+BD0.net
>>223
値型のmutatingメソッドはスレッドセーフじゃないぞ

232 :名称未設定:2014/09/09(火) 16:23:46.14 ID:q5IGML2Zi.net
>>226 何と無く、LLVM使ってるからコンパイルスピードが速い見たいな感じ。
Objective-Cとのスピードテストはオブジェクトのソートと言う特殊条件だったらしい

Swiftのスピードがわかる様になるのは並列処理対策が済んだ頃じゃ無いかな。
並列処理はかなりのウエートで考えてる気がする
今後のプログラムは並列処理抜きには語れ無い

233 :名称未設定:2014/09/09(火) 16:43:18.74 ID:QZucVuTJi.net
iOSで並列処理?そんなやらないと思うが
Mac OSは死に体だから知らん、 Widgetなくしやがって折角作ったアプリがパーだ

234 :名称未設定:2014/09/09(火) 16:49:36.54 ID:AG01uHj50.net
×iOSで並列処理?
○iOSで処理効率処理スピードを上げるための並列処理?

235 :名称未設定:2014/09/09(火) 16:58:18.75 ID:q5IGML2Zi.net
>>233 今はまだデュアルコアだから単一プログラムの並列処理はほとんど効果無いからあまり意味無いけど、数年以内にコア数はどんどん増えて行くはず、もう周波数を上げると発熱に対処出来無いから。

来年辺りは4コアは確実だろう。数年以内にその倍以上にはなるはず

iOSではなく、デスクドップやサーバでは既にその時代に入ってる
最近出て来た言語が並列処理を掲げているのは当然の事。
Swiftが考えていないわけが無い。

236 :名称未設定:2014/09/09(火) 17:20:03.43 ID:R593ZGV40.net
並列処理なんて言語仕様に入ってないんだから別にSwiftの利点じゃないだろ

237 :名称未設定:2014/09/09(火) 17:26:58.02 ID:x5qNCWPFi.net
>>235
来年辺りの4コアはもう確実だろうが、
日本時間で今日深夜2時発表のiPhone6で4コア搭載の可能性もある。

Swiftの完成度や仕様に多少揺らぎがあったとしても、
発表を来年の6月まで延ばさずに、今年のWWDC2014にしたのはいい判断だと思う。

238 :名称未設定:2014/09/09(火) 17:42:07.81 ID:q5IGML2Zi.net
>>236 クラス以外はValue typeなんだからコンパイラで自動的に並列化が出来る

その可能性を持たせた言語仕様と言うことだろ

239 :名称未設定:2014/09/09(火) 18:21:45.18 ID:NE42qCf10.net
>>233
ネットから情報を取って来る間 UI を止める気?

240 :名称未設定:2014/09/09(火) 19:16:40.23 ID:/tuTJ5uzi.net
基本的にNeXTが採用した最初からObjective-Cは
未来のプログラムのありかたとして実行時に動的にロードパージする前提で
それを管理するオブジェクトコントローラが必須で。
Appleのハードはずーっとその前提を基にマルチプロセッサ/マルチコアと
OSの処理分散を進めて来てるのに
なんで2014年にもなって自称プログラマが
「マルチコアと並列処理なんてどこで使うんだよwww」とか言うか。

241 :名称未設定:2014/09/09(火) 19:48:05.07 ID:aX3Oyhvr0.net
並列処理なんてプログラマが特に意識しなくても
コンパイラーがいい感じにやってくれればいいよ

242 :名称未設定:2014/09/09(火) 19:53:52.52 ID:O2ld25kP0.net
さあ、あと6時間でiPhone6だ。 来るか?、4コアA8プロセッサ。 
(ア〜ンド GCDとSwiftの値型コレクション、近日中にコンパイラによる配列の自動並列化も。)

http://www.apple.com/live/

もし来なかったら来年の9月まで待ちましょう、ということで。

243 :名称未設定:2014/09/10(水) 00:15:28.74 ID:y5D4LXb40.net
デスクドップ

244 :名称未設定:2014/09/10(水) 06:57:58.97 ID:LICHcFle0.net
A8チップは、A7チップの28ナノから20ナノへのプロセス進化版だが、コア数は2コアのままのようだ。
具体的なコア数の発表はなかったのでたぶん前と同じはず。 

64bitに移行した直後でもあり、たぶんTSMCでの生産も初回なので、
アーキテクチャはあまりいじらずに、堅く低消費電力版、といったところか。

Xcode6はいよいよゴールデンマスターがリリースされたので、一応は安定してSwiftで開発ができる。
17日のiOS8リリースで正式版だろう。

245 :名称未設定:2014/09/10(水) 08:32:39.35 ID:FgR584A0i.net
コア数と並列処理の関係なんていつの時代のネタだよ
PS3でも大笑いしたが、またもヘソで茶を沸かせてくれるなww

246 :名称未設定:2014/09/10(水) 10:56:25.50 ID:RLSY7tn50.net
妙だな。Xcode 6 のGM、iOS では Swift で書けるけど、OSX では New Project で Swift が選択できなくなってる。

247 :名称未設定:2014/09/10(水) 11:24:38.48 ID:OrpPD8CL0.net
there are a few minor enhancements we plan for the 6.1 release cycle (aligning with Yosemite), but its primary focus is bug fixing and polish.
6.1b1 fixed many bugs that are not listed in the release notes (individual bugs are not generally listed there).

だってよー

248 :名称未設定:2014/09/10(水) 15:14:00.39 ID:COG8Egt20.net
Xcode 6.1 beta for OS X Yosemite

This pre-release version of the Xcode 6.1 developer tools is required
when developing for OS X Yosemite, and includes the Swift programming language.
Xcode 6.1 beta runs on OS X Mavericks and OS X Yosemite Developer Preview.


Mac用アプリ開発の場合には6.1ベータで。
https://developer.apple.com/xcode/downloads/

Apple WatchのWatchKitの開発もやるなら、またベータでの開発に戻りそう。
シミュレーター上でいいから、Apple Watchの開発環境が待ち遠しい。

249 :名称未設定:2014/09/13(土) 11:10:41.79 ID:9OJRV0Qh0.net
ことえりタソがイニシャライザを一発でカタカナ変換してくれない

250 :名称未設定:2014/09/24(水) 18:35:16.68 ID:NEuJZZpk0.net
swiftの勉強のためにterminalで使いたいんだけど、mavericksは対応してないってerrorでる。
beta版じゃないとダメみたい。beta版入れたくないからyosemite待つしかない。

251 :名称未設定:2014/09/24(水) 19:07:17.97 ID:vad2PJzN0.net
そうか、じゃあすまんがもうちょっとyosemiteくれ

252 :名称未設定:2014/09/24(水) 19:22:52.67 ID:InDQSPsci.net
お前ら分かりづらい...

253 :名称未設定:2014/09/24(水) 21:07:21.44 ID:xyGuhttpi.net
>>251
うまいなw感心した。

254 :名称未設定:2014/09/25(木) 13:06:25.24 ID:Gqvz9+h8i.net
質問なんですけど、Playgroundに下のコードを入力しても何も表示されないんですが

dispatch_async(dispatch_get_main_queue(), {
println("Hello, GCD")
})

そういうもんなんですか?

255 :名称未設定:2014/09/25(木) 16:32:56.44 ID:3nP5WROY0.net
ビューのペイン増やせ、
表示メニューあたりにあったと思う

256 :名称未設定:2014/09/26(金) 07:45:25.97 ID:ILeRhFjs0.net
いいこと教えてあげよう。Web上でSwiftが走る。
http://www.runswiftlang.com

アクセスして、左上のRunSwiftボタンをクリックしてから、サイトのサンプルを以下のコードで置き換えて、下にある青いCompileボタンを押す。

for i in 0..<10 {
println( " i = \(i) " )
}

たとえアンドロイドのスマホ使ってて電車の中に居たとしても、たった10秒でSwiftのプログラムが書ける。
Swift触ったことがなくても、まずは試してみ。 本格的に取り組むかどうかは後で決めればいい。

257 :名称未設定:2014/09/26(金) 08:38:29.51 ID:4bTM3g6J0.net
>>255
Assistant Editorのことですか?
表示しててもダメですよ

258 :名称未設定:2014/09/26(金) 09:16:57.82 ID:ILeRhFjs0.net
今はMac環境オンリーだけど、Swift言語自体は将来的にはWindowsやLinux対応になると思う。

NSObjectの継承を外していることや、小さいランタイムで独立して動作することなど、
例の値渡し/参照渡しに絡む話題も含めて、こうした先を見据えた言語の方針が何となく透けて見えているように思える。

対応の形態として、
AppleのWebKitのようにオープンソースにして丸ごとコミュニティに提供するのか、
MSの.NETのように仕様だけを標準化して公開し実装はMonoのようにオープンソース含め各々に任せるのか、
あるいはオラクルのJavaVMのようにランタイムの開発も含め完全に自社のコントロール下に置いてWindows版やLinux版を開発するのか
についてはまだ見えてこない。

それぞれメリットデメリットがあるのでタイミングも含め熟慮していると思うが、
言語仕様と実装品質の維持のために、当初はAppleによるランタイム配布のような気もする。

普及のカギは、サーバー側の各種サービスが、オープンソースコミュニティでSwiftにより書かれ始めることだろう。
IBMとAppleの提携も微妙に気になる。IBMは現状でJava推しだが、今後Swiftが絡むようなことがあるのだろうか?

Swiftの特徴として高速性があり、つまりはC++の役割の置き換えが、明言せずとも遠くを見据えたSwiftの視界内に入っているように思える。

259 :名称未設定:2014/09/26(金) 10:40:50.02 ID:hnH0ABUYi.net
これは信者に見せかけた愉快犯の工作

260 :名称未設定:2014/09/26(金) 15:08:40.61 ID:nm1eJodB0.net
>>258
ならねえだろ。
Appleがそういう方針を持ちあわせてる会社だったら、とっくにiOS開発環境をMac買わずに出来るようにしてるわ。

261 :名称未設定:2014/09/26(金) 15:41:37.69 ID:SHmbmfaU0.net
ランタイム配布とかあり得ないわー

262 :名称未設定:2014/09/26(金) 16:52:57.42 ID:gxaLdF4d0.net
>>260
clangはFreeBSDで採用されているんですが。Linuxでも使えるんですが
無知ですか?

263 :名称未設定:2014/09/26(金) 17:02:01.85 ID:XPzbqTDs0.net
初心者の質問なんですが

var d = ["key1": "value1"]

var v = d["key1"]
"key1 is \(v)"  //  key1 is Optional("value1")"


"key1 is \(d["key1"])" // "マークがかぶるのでコンパイルエラー

↑これをエスケープとかする書き方ってあるんでしょうか?

264 :名称未設定:2014/09/26(金) 17:27:13.34 ID:hnH0ABUYi.net
>>262
iOSアプリも昔は Linux でも気合いで開発出来たんですが。そして、出来なくなったんですが
無知ですか?

265 :名称未設定:2014/09/26(金) 17:49:17.59 ID:gxaLdF4d0.net
>>264
気合い=Appleが正式に提供しているわけではない。まあ、そこは無知であったのは確か
だが、お前の無知さにはかなわないとは思うぞw

ちなみに
http://lists.cs.uiuc.edu/pipermail/llvmdev/2014-June/073698.html
だって。はてさて

266 :名称未設定:2014/09/26(金) 17:53:30.86 ID:gxaLdF4d0.net
>>264
ちなみに、それができたのってサンプル教えてくださいな
チラっとググってみたが見当たらないんだが。clangがLinuxでもというのからの嘘か?もしかしてと思い始めているんで、おねがいねw

267 :名称未設定:2014/09/26(金) 17:58:26.84 ID:gxaLdF4d0.net
>>263
バックスラッシュでのエスケープも効かないし、Swiftのドキュメントみても一時変数に入れてというのがだねえ

268 :名称未設定:2014/09/26(金) 18:41:53.14 ID:daTj1051i.net
>>265
「WindowsのアプリをMacで開発できるようにしないMSは糞
VisualStudioは使いずらいし囲い込みだ!」
とか言ってる奴がいたら自分でもあきらかに頭おかしいと思うだろうに
なんでああいう人はそういうことを自分が言ってると自覚できないのかねぇ…
他社のOSなんて知らんよ

269 :名称未設定:2014/09/26(金) 19:09:15.64 ID:cZqRE2DC0.net
へ? Android開発が念頭にあっての発言なんだけど、おかしいか?
別にPCプラットフォームの開発の話じゃないんだし。

270 :名称未設定:2014/09/26(金) 19:23:29.21 ID:gxaLdF4d0.net
>>269
>>266 Android(Linux)中心なら、すぐに出るんじゃないの!?お願いだから出してください
それもまた、ああいえばこういうのだけの嘘と思っちゃうよw

271 :名称未設定:2014/09/26(金) 19:29:41.04 ID:gxaLdF4d0.net
>>269,270
あ、あんたは、ID:hnH0ABUYiではないのか。それはそれは失礼をしました
>>260なのか!?なんだかなあ。なんだかなあw

272 :名称未設定:2014/09/26(金) 19:45:26.44 ID:yGy5p90E0.net
Winで超強引にエディタとgccだけでCUIのアプリは書けたけど労力に見合わないから。
「本物のプログラマー」にはなれないな、俺。

囲い込みもくそもないんじゃないかなぁ?
オルタナティブな開発環境でアプリ作ってもトラブルシュートの時に困るし、直してもソースがぐちゃぐちゃになるだけのような気が。
開発環境が共通だとそういう情報がナレッジベースに載ってみなと共有できる。
AppStoreで売るとなると基本はXcodeで記述しないとアウトだし。

273 :名称未設定:2014/09/26(金) 21:41:27.46 ID:6Jj+U9qy0.net
Xamarinの方が良いかもと思い始める

274 :名称未設定:2014/09/26(金) 23:09:29.36 ID:xjt3xWce0.net
>>263
Xcode6.1 beta2 ではちゃんと動作するけど?

275 :名称未設定:2014/09/27(土) 03:25:34.64 ID:aEMsRY7ni.net
ありゃiOSと名乗る前(前後?)でgccの中の人がclangですらなかった頃の話じゃな
バイナリに互換性あれば良いからコンパイラはどうでもいい

276 :名称未設定:2014/09/27(土) 10:59:38.20 ID:oO1nPnq+0.net
>>264
簡単に見つかるぞ, ggr「ios linux クロスコンパイル」

Xamarinがランタイムを同梱型ならそれでも良い気がするな
Swiftも高々8M byteくらいの小さいサイズ()だし, KVMと比べりゃ余裕だべ

277 :名称未設定:2014/09/27(土) 11:31:17.49 ID:U1Wfjpk20.net
Xamarin、C#だから人手集めるのが楽勝なんだよね

278 :名称未設定:2014/09/27(土) 13:09:15.44 ID:0VFO8DTH0.net
天気がいいので午後から出かけるんだが、その前にちょっと遊んでみた。

254 :名称未設定:2014/09/25(木) 13:06:25.24 ID:Gqvz9+h8i
質問なんですけど、Playgroundに下のコードを入力しても何も表示されないんですが
dispatch_async(dispatch_get_main_queue(), {
println("Hello, GCD")
})

ー>
残念ながら、Playground上と、iOSなどのターゲット向けコンパイルの挙動は別で、ちゃんと動かないようだ。
ていうか、Playgroundを使ってて分かると思うけど、スレッドのタスクが生成され起動するタイミングはキーボードの打鍵の瞬間。改行の瞬間ですらない。コードをタイプする最中に始まって勝手なタイミングで消滅する。
なので、PlaygroundでGCD書いたとしても殆どコントロールが効かず確認の意味もあまりない。(ブレークも何もできない)
それでも一応ちゃんとGCDがマルチスレッドで動いていること自体の確認ならPlaygroundでもできる。
例を挙げると、GCD自体はC言語にも対応する低レイヤの基幹技術だが、GCDを利用した上位ラッパーでNSOperationQueueというのがある。

運営からのお知らせ代わりに、魔法石としてNSOperationQueueを使った次のコードを差し上げるから、コピって試してみて。

let mahouIshi = NSOperationQueue()
for i in 0..<10 //10は適当
{
mahouIshi.addOperationWithBlock(
{
var loop:Int32 = 0
for j in 0..<rand()/(INT32_MAX/30) {loop = j} //30は適当
println("taskNo=\(i) , loop=\(loop)")
}
)
}

for i in 0..<3000 { //3000は適当。このforが無いと終わる前にplaygroundを抜けてしまう。
}
println("おしまい")

279 :名称未設定:2014/09/27(土) 13:14:31.97 ID:0VFO8DTH0.net
>>278の ID:0VFO8DTH0だが、続き。


>>263
263 :名称未設定:2014/09/26(金) 17:02:01.85 ID:XPzbqTDs0
初心者の質問なんですが
var d = ["key1": "value1"]


ー>
こんな感じでどうかな? "key1"に対応する値があるとは限らないので、!で剥がすのを忘れずに。
let myStr = "dict[\"key1\"]! の結果は" + String( dict["key1"]! ) + " です。"

280 :名称未設定:2014/09/27(土) 13:41:40.11 ID:0VFO8DTH0.net
>>278 >>279 の ID:0VFO8DTH0 だYO!

で、Swiftが将来WindowsやLinuxに対応するかどうかについての続き。

実際にコード書くプログラマなら知ってる人も多いと思うけど、今日では有名な汎用言語のうちで、逆にマルチプラットフォームに対応していないほうが少ない。

C、C++、Java、C#、Python、Perl、Ruby、PHP、JavaScript、これらは全部Mac/Win/Linuxに対応している。他にも沢山。

ちなみに上の言語を見て気付く人もいるだろうが、対応させる方法はいくつかあり、例えばAppleやMSが直接Javaを開発しているのではなく、JavaVMをオラクルが作ってMSやAppleに提供している。
つまり、Java製アプリは実は、JavaVMというアプリ上の書類に相当する。

同じように、C#製アプリもMono(MSの.NET全体の部分オープンソース版)というアプリの上の書類に相当し、C#を使ってMac上でもiOS上でも動くアプリが作れる。

重要なことは、企業にとってプログラム言語そのものは広まったほうが有利だ、ということ。 むしろ普及させるのに苦心する。

例えて言えば、MSにとってWordの書類.doc形式が広まったほうが嬉しいのと同じ。
Appleにとって、どのような形であれSwift言語単体に関しては、広まったほうが嬉しいからそっちの方向に行くはず。
理由に関して他の読みもあるんだが、今ここでは省略する。

逆に広まると困るケースは、仕様がばらばらに発散して収拾つかなくなった挙げ句に保守を維持しなければならなくなること。

その辺りのメリット/デメリットのトレードオフで、>>258 で言った3つのパターンのうちのどれかになると思うな。

281 :名称未設定:2014/09/27(土) 14:29:35.57 ID:DSEpkWQv0.net
長い

282 :名称未設定:2014/09/27(土) 14:34:18.14 ID:U1Wfjpk20.net
なぜObjective-Cは広めなかったんや
唯我独尊だからやろ

283 :名称未設定:2014/09/27(土) 14:40:23.37 ID:DSEpkWQv0.net
Objective-Cよかったのになぁ
なんだよ

284 :名称未設定:2014/09/27(土) 15:06:50.44 ID:Nb2hUu1I0.net
ObjC にこいつら追加してくれればワシは満足じゃったよ
型推論、#import 不要、オブジェクト型のポインタの * 省略可、isKindOfClass とかの簡略化 (is演算子的な)
他まだあるかも

285 :名称未設定:2014/09/27(土) 15:13:08.20 ID:lw7UfFWV0.net
ぼくのかんがえたさいきょうのObjective-C

286 :名称未設定:2014/09/27(土) 15:21:57.11 ID:41AAP2Nc0.net
>>282
NSObjectが必須だからな

287 :名称未設定:2014/09/27(土) 15:42:41.19 ID:piXVjFMB0.net
クロスプラットフォームで広めたかったら
コンパイラだけでなくクラスライブラリごと公開しないとダメというだけの話で
これはSwiftについても同じだろう

String, Array, Dictionaryが標準型になったけどどうなのか...
そもそもこれらがObjCのFoundationの実装を前提としてるのかどうかもよくわからんし

288 :名称未設定:2014/09/27(土) 16:11:01.27 ID:aEMsRY7ni.net
ランタイム同梱ってのもないよなぁ
VBランタイムじゃあるまいし

289 :名称未設定:2014/09/27(土) 16:28:13.94 ID:5jXXTJBl0.net
ランタイム同梱は安定するまでの間だけですけど

290 :名称未設定:2014/09/27(土) 16:48:32.69 ID:l6ECGFka0.net
>>289
オープンソースにしたけど誰も拾ってくれない、という可能性は?w

291 :名称未設定:2014/09/27(土) 17:19:44.23 ID:TAuYwC9+0.net
ランタイム配布が許されるのはそのOSを作ってるメーカーだけだよなあ、VBもMicrosoftだから許された
WindowsでのQuickTimeの嫌われ具合もそうだし、そもそもApple自体がJavaやFlashをどう扱ってるか見たら判るだろ

292 :名称未設定:2014/09/27(土) 17:42:50.11 ID:piXVjFMB0.net
そもそもランタイムの配布って旧OSでも新APIを使ったソフトが動くようにと
互換性のためだと思うのだけれど
AppleってCocoaではそういう配慮をしたことが全くないよね

293 :名称未設定:2014/09/27(土) 22:52:46.58 ID:NEkL3+q/0.net
Xcode以外はrustでいいんじゃなか

294 :名称未設定:2014/09/28(日) 06:30:38.51 ID:J7KC7Cc9I.net
家電量販店における実売データを集計した「BCNランキング」が9月23日に発表した携帯電話ランキング(2014年9月15日〜21日)によれば、上位20機種のうち18機種がiPhoneだった。
http://yukan-news.ameba.jp/20140925-22339/

書くだけじゃなくて、どこで使われるか、も重要。

それもSwiftの強みだな。

295 :名称未設定:2014/09/28(日) 07:32:07.66 ID:czYTRwCJi.net
C言語「どこで使われるか、も重要。(万能派)」
Ruby, PHP 「どこで使われるか、も重要。(Web派)」
Java 「どこで使われるか、も重要。(ランタイム派)」
C# 「どこで使われるか、も重要。(MS派)」
swift 「どこで使われるか、も重要。(Apple派)」

296 :名称未設定:2014/09/28(日) 07:37:59.09 ID:J7KC7Cc9I.net
20機種のうち18機種がiPhoneだった。

297 :名称未設定:2014/09/28(日) 07:43:54.73 ID:mo4OA5dl0.net
>>292
Obj-Cのメソッドはライブラリのシンボルにならないので、関数呼び出しのようにバイナリにべったりくっつかなくても構わないと説明してた。

298 :名称未設定:2014/09/28(日) 10:49:04.60 ID:SjRQ4qJU0.net
>>282
 Objective-Cにしろ、Swiftにしろ、Xcodeにしろオレオレの方が自社の戦略に合わせ
易いからな。他の言語や開発環境を採用するとAndroidみたいにいろいろ足引っ張られるし。

299 :名称未設定:2014/09/28(日) 10:53:05.32 ID:SjRQ4qJU0.net
>>262
ずっと前からアップルはカーネルやコンパイラのような基盤部分とプラットホームと呼ばれている所は別の方針を取っている。
Swiftコンパイラーやランタイムの公開はあり得るけど、フレームワークや開発環境の公開はあり得ないな。

300 :名称未設定:2014/09/28(日) 11:05:27.41 ID:Rg+X4sN40.net
CoreFoundationは公開してるけどね

301 :名称未設定:2014/09/28(日) 11:05:31.82 ID:fK5o/6v40.net
>>299
ほぼ同意見だが?なんで?

302 :名称未設定:2014/09/28(日) 11:09:33.17 ID:fK5o/6v40.net
>>300
http://darwinsource.sourceforge.net/about/
In some cases, however, there are differences. The version of CoreFoundation included in Darwin is known as “CoreFoundation Lite” (or simply “CFLite”), because it doesn't contain everything that the Mac OS X release of CoreFoundation includes.
かな??だとしたら、やむを得ずって感じ?w

303 :名称未設定:2014/09/28(日) 11:37:17.41 ID:czYTRwCJi.net
公開しようがしまいが、ハックして同じようなモノを作れば良いんだよなぁ
swiftランタイムもLLVM,clangコンパイラも

オープンソースにならなきゃ何も出来ない温室育ちは待ってろ

304 :名称未設定:2014/09/28(日) 11:47:45.30 ID:sVhvKQer0.net
5年ぐらいすれば標準ライブラリもきれいになって言語として独立するよ

305 :名称未設定:2014/09/28(日) 11:50:46.03 ID:LZgcGIJVi.net
WindowsもOSXもLinuxも作れそうなハッカー様が降臨して参りました。

306 :名称未設定:2014/09/28(日) 12:00:55.24 ID:XM3gKMVF0.net
ベータ明けたら「JSでSwift処理系実装してみた」とか出てくるんだろうなと思ってたけど、案外出てこなかった

307 :名称未設定:2014/09/28(日) 12:21:32.79 ID:LZgcGIJVi.net
初心者ですが、質問です
ハックできる人は、コード書いてプログラムもできるんでしょうか?

308 :名称未設定:2014/09/28(日) 15:45:36.07 ID:7mWdq1VO0.net
基地外怖いお

309 :名称未設定:2014/09/29(月) 08:20:43.50 ID:oGb0AsKci.net
>>306
お前がやれよ

310 :名称未設定:2014/09/29(月) 14:26:41.15 ID:GwRS0u+S0.net
Swift本の翻訳版はよ

311 :名称未設定:2014/09/30(火) 13:18:04.20 ID:qslMW37I0.net
標準ライブラリのヘッダー?ドキュメントがすごく充実したな

312 :名称未設定:2014/09/30(火) 14:42:28.84 ID:pyASzUUT0.net
Beta3が来てたのか

313 :名称未設定:2014/10/06(月) 09:54:08.83 ID:uy0Bt+UY0.net
>>256 ちょっと出先で試してみたいとか有るからこれは助かるな。

314 :名称未設定:2014/10/06(月) 10:43:49.65 ID:CDWBaPi7i.net
>>310
出てるよ。

315 :名称未設定:2014/10/06(月) 22:19:42.21 ID:qGmgGFXV0.net
しかしあれだ。playground つい無限ループ実行する気ないのに書いちゃうとえらいことになるな。

316 :名称未設定:2014/10/10(金) 18:39:53.93 ID:GaSBwaI30.net
xcode 6.0.1だと osx向けの開発じゃSwift選べんのか…。設定見まくったり、再インストールしたりを繰り返しちゃったよ…。

317 :名称未設定:2014/10/10(金) 20:54:31.82 ID:gVuTfBt40.net
(ノ∀`) アチャー

318 :名称未設定:2014/10/12(日) 12:50:30.08 ID:vn/TWrkJ0.net
iOS版だけはもうリリースされてるのか。
にしてもSwift全然話題になってないな。
ネット住人が勝手に騒いでるだけの言語って感じがする。

319 :名称未設定:2014/10/12(日) 13:16:15.14 ID:tlxgNI560.net
>>318
そら当然なのでは
仕事で使うには言語仕様が落ち着くのを待つしかないし
遊びで弄ってもネットで話題にするしかないし

320 :名称未設定:2014/10/12(日) 15:20:00.68 ID:MKhNZg0J0.net
Objective-Cで十分行けてるからな
結局iOS8/Yosemiteを出すにあたって新しい感を出したかっただけなんだよ
Appleもアイデアが飽和してきたな
もうおなかいっぱいでStay hungryできなくなってきてる

321 :名称未設定:2014/10/12(日) 18:32:12.85 ID:xcuUvN+c0.net
>>318
ネット以外でどこで話題になってたらいいっつうの?

322 :名称未設定:2014/10/12(日) 18:40:25.99 ID:tR+47cBR0.net
>>321
その短絡的な解釈とレスは如何なもんだろう。>>319の様に普通に行間読めるだろ。

323 :名称未設定:2014/10/12(日) 20:33:13.54 ID:xcuUvN+c0.net
http://s.news.mynavi.jp/news/2014/10/03/017/index.html

善戦してんな、くらいの感想しか無いです

324 :名称未設定:2014/10/13(月) 16:16:18.92 ID:2vdmqpCB0.net
FitPortがSwiftだね。USのヘルスケアでトップになった日本のアプリ。

325 :名称未設定:2014/10/13(月) 16:17:01.74 ID:2vdmqpCB0.net
ShimejiもSwiftか。

326 :名称未設定:2014/10/14(火) 08:56:58.62 ID:x6NLomU10.net
>>323
TIOBEプログラミング言語ランキング - DartとSwiftがトップ20入り
http://news.mynavi.jp/news/2014/10/06/064/

327 :名称未設定:2014/10/14(火) 22:30:09.00 ID:NUpCXCtb0.net
swift 配列の append() について教えてください
https://developer.apple.com/library/ios/documentation/General/Reference/SwiftStandardLibraryReference/Array.html
の append() ですが、サンプル

var array = [0, 1]
array.append(2)

playgroundで試すと、() is not convertible to ‘[int]’ と言われて、[0, 1, 2] にならんのですが
なんででしょうか?

328 :名称未設定:2014/10/14(火) 22:33:07.21 ID:XYqEdDtF0.net
>>327
コピペしたけど普通に動いちゃった

329 :名称未設定:2014/10/15(水) 09:28:10.35 ID:0ScJs9GJi.net
var a = 10
var b = 20
let c: () = a += b

330 :名称未設定:2014/10/16(木) 21:00:08.17 ID:TOU+2Rhy0.net
swift 初心者なんですが、Objective-Cで

char buf[1024];
// buf にデータを代入して末尾に0
[NSString stringWithCString:buf encoding:NSUTF8StringEncoding]

とやって正常に文字列が得られていたものを swift では

var buf = UnsafeMutablePointer<Int>.alloc(1024)
// buf にデータを代入して末尾に0
NSString(CString: buf, encoding: NSUTF8StringEncoding)

とやればいいのかと思ったらコンパイルエラー
Extra argument 'encoding' in call
となります

どこを修正したらいいでしょうか?Xcode 6.1 GM2 です

331 :名称未設定:2014/10/16(木) 21:45:34.20 ID:j9ctCrGx0.net
Int8でなくてIntだからじゃね

332 :名称未設定:2014/10/16(木) 21:50:43.61 ID:TOU+2Rhy0.net
Int8にしたらコンパイル通りました
ありがとうございました

333 :名称未設定:2014/10/17(金) 00:22:54.21 ID:25WKLVxf0.net
来週ぐらい早々にXcode 6.2 Betaが出たりするかな?

334 :名称未設定:2014/10/18(土) 01:14:04.98 ID:ioCLnEuk0.net
yosemiteに変えたけどterminalからはまだ使えない。
`
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/
xcrun swift
<unknown>:0: error: the SDK 'MacOSX10.9.sdk' does not support Swift
`
って出る
xcode6.1じゃないと無理なのか。

335 :名称未設定:2014/10/18(土) 01:24:06.33 ID:aOUuaXiu0.net
>>334
6.1のcommand line tool出てるからそれでいけるんじゃないか?

336 :名称未設定:2014/10/18(土) 14:49:30.92 ID:ioCLnEuk0.net
>>335
インストールしてみたけどやはり同じ
xcodeは6.0.1のバージョンのまま。
xcode入れなおしてもできるかどうかはやっていない。
6.1の正規を待つことにする。

337 :名称未設定:2014/10/18(土) 15:01:32.62 ID:tPf9MHS70.net
そのうちAppStore配信するやつと同じだから↓コレ入れるといいよ
https://developer.apple.com/downloads/index.action
・Xcode 6.1 Oct 17, 2014
 The is the release version of the complete Xcode developer toolset for Mac, iPhone, iPod touch, and iPad.
 It includes the iOS 8.1 SDK, OS X 10.10 SDK and OS X 10.9 SDK. Xcode 6.1 requires OS X Yosemite or OS X Mavericks.

$ xcrun swift
Welcome to Swift! Type :help for assistance.
1>

うちの Mavericks環境でもいけた。

338 :名称未設定:2014/10/18(土) 15:46:43.47 ID:LO6shSTQ0.net
REPL試したいだけなら
xcrun --sdk iphoneos swift
とかで行けんじゃないの?

339 :名称未設定:2014/10/18(土) 17:13:25.75 ID:0mGQyqAD0.net
Int8ってなんだよ
カス型つくんじゃねー

340 :名称未設定:2014/10/18(土) 17:35:02.19 ID:ioCLnEuk0.net
>338
へー、iOS環境で使えるんだ。
情報ありがとう使えたわ。
>337
もう使えるみたいだね。情報ありがとう。

341 :名称未設定:2014/10/19(日) 03:23:48.50 ID:VzO7UItd0.net
この二三ヶ月で何度Xcodeをダウンロードしたかな
思い出せんわ

342 :名称未設定:2014/10/19(日) 11:06:10.31 ID:Ljh9zTj30.net
健忘症?

343 :名称未設定:2014/10/20(月) 00:31:37.39 ID:2SBKcxQt0.net
海外でもJavaトップなのか・・・
アーキにJava採用しても結局ミドルウェアやフレームワークは高価なプロプラ使うじゃん、OracleとかOracleとかWebLogicとか
コスト云々は100%嘘だよ、JavaでできることはC#でできる、そして言語仕様含めてC#のが完成されてて使いやすいんだけどな
怠惰なPGが多いってのは日本だけじゃないってことか

344 :名称未設定:2014/10/20(月) 00:54:09.12 ID:agGKdN9w0.net
スレを間違えたのか、日記に書くつもりだったのを間違えたのか。変な間違え方するからわからんやんけ

345 :名称未設定:2014/10/20(月) 03:05:15.39 ID:Rh2zFOKri.net
JavaもしくはC#をswiftに読み変えてみた
どちらも特に違和感なかった

346 :名称未設定:2014/10/20(月) 16:40:49.89 ID:Rl2NwfmA0.net
GlassFishならタダだぞ

347 :名称未設定:2014/10/20(月) 17:52:24.67 ID:03wKYPy9i.net
この手の人は何言っても自分の愛用してるツールが一番と思ってるから無駄
swiftもこういうライブラリが出てくるのかねぇ

348 :名称未設定:2014/10/20(月) 20:35:34.84 ID:g+rjTxqF0.net
エディタとIDE、使用言語は戦争の元だなw

349 :名称未設定:2014/10/20(月) 21:21:36.31 ID:CJlP1pYWi.net
宗教に近いな
無宗教の日本人だけど他宗教との付き合い辛さを身に染みて感じるわw

350 :名称未設定:2014/10/20(月) 21:48:43.59 ID:g+rjTxqF0.net
古くはviとemacsか。
終わらない聖杯戦争みたいなもんだ。

351 :名称未設定:2014/10/20(月) 21:51:28.13 ID:OpVc5BX60.net
全員がサーヴァントで勝っても願いは叶わないけどね

352 :名称未設定:2014/10/21(火) 09:17:59.50 ID:o+3/+cDM0.net
1.2βマダァ-?(・∀・ )っ/凵⌒☆チンチン

353 :名称未設定:2014/10/21(火) 13:53:13.11 ID:2fVFOwaj0.net
黙れカス!

354 :名称未設定:2014/10/24(金) 14:23:50.15 ID:O56Wq/DH0.net
viの方がいいし、
ps4は情弱が買う鉄屑

355 :名称未設定:2014/10/24(金) 20:15:08.09 ID:dQjkBNdG0.net
根拠を詳しく書いてくれないと説得力に欠けるよね

356 :名称未設定:2014/10/27(月) 17:54:37.78 ID:qU8GnSj50.net
ネットで情報漁りながらswiftの勉強し始めて、サンプルを打ち込んで実行しようとしたんだけど

var imageListArray : Array<UIImage> = []
for index in 1...4 {
imageListArray.append(   <ーこの行でエラー
//現在のindexに対応するメディア名を生成して対応するUIImageを作成
UIImage(named:String(index) + ".gif"))
}

Missing argument for parameter 'inBundle' in callってエラーが出て実行できないのは何故なんでしょう?
やろうとしていることは画像の配列を作って、動的に配列の中身(4ヶ)を入れようとしています。
環境はxcode6.1です。
よろしくお願いします。

357 :名称未設定:2014/10/27(月) 18:08:35.95 ID:STB2TWBA0.net
>>356
UIImage(named: String) が返すのは UIImage? だから [UIImage] には入れられない
append する前に都度 nil チェックしてアンラップするか、[UIImage?] に入れるかどっちか

358 :名称未設定:2014/10/28(火) 22:03:30.13 ID:UGA2w31Y0.net
>>357
ありがとうございました。
imageListArray.append(
//現在のindexに対応するメディア名を生成して対応するUIImageを作成
UIImage(named:String(index) + ".gif")!)
で、いけました。

359 :名称未設定:2014/10/30(木) 21:04:18.47 ID:NdBcpSmo0.net
かえってめんどくさくなった気がするね…

360 :名称未設定:2014/10/31(金) 08:19:53.67 ID:0fcWzUG+0.net
Objective-Cでいいんだよなぁ。。何で超マイナーな言語がやっとここまでになったてのに
こんどは独自言語に走るかね
アップルも頭が悪くなってきたか

361 :名称未設定:2014/10/31(金) 12:25:36.04 ID:1Te/DnKI0.net
別にコレまで通りObj-Cを使っても良いのよ?

362 :名称未設定:2014/10/31(金) 12:33:57.49 ID:G8Lm0LcU0.net
そうね

363 :名称未設定:2014/10/31(金) 14:00:46.30 ID:gQoDFxw90.net
今、本見ながら勉強してるんだけど、既にswiftにある関数でも勝手に宣言、定義して使えるみたい
だけど混乱の元じゃないの?
本には func drawRect(hoge: hogehoge) とかオーバーライドも無しに独自処理が書いてあるんだけど。

364 :名称未設定:2014/10/31(金) 16:32:40.01 ID:pcFmv4T40.net
今はoverride書かないとビルドエラーにならねーか?

365 :名称未設定:2014/10/31(金) 17:44:29.68 ID:or2w48jq0.net
みんな〜
iPhoneアプリ開発の教科書のSwift版が発売されたぞ。

これで勉強してバリバリとあを作るんだ!

366 :名称未設定:2014/10/31(金) 17:57:03.67 ID:5WWjMpSd0.net
ステマ

367 :名称未設定:2014/10/31(金) 17:59:15.88 ID:nlILfeYH0.net
たのスイKindle版
待ち中

368 :名称未設定:2014/10/31(金) 18:01:31.41 ID:5WWjMpSd0.net
ステマ
Swift part3
http://peace.2ch.net/test/read.cgi/tech/1406083608/

369 :名称未設定:2014/10/31(金) 18:21:32.79 ID:50HVbjgC0.net
はじめまして!
swift勉強しながらゲームを作っているものです
ゲームのマップで使う配列を作ろうとしているのですがうまくいきません
var mapdata[2][3] = [
[0,0,0],
[0,1,0]
]
次のやり方だと配列の長さがわからないのでどうしたらいいか悩んでいます
var mapdata:[[Int]] = [
[0,0,0],
[0,1,0]
]
よろしくお願いします!

370 :名称未設定:2014/10/31(金) 18:49:44.06 ID:fagw2mq30.net
ステマ ステマ ゴッドステマ
ステマ ステマ ゴッドステマ
がーったーいだー

371 :名称未設定:2014/10/31(金) 19:39:23.55 ID:/zbxO1ya0.net
var mapData = [[0,1,2], [4,5,6]]
mapData.count  ->mapData中の要素の個数で2
mapData[1].count ->一個目の配列の個数で3
でおk
>>369の上の書き方の[2][3]って配列の大きさ指定してるつもりだろうけど、varで固定長の配列作れないんじゃないの?まだ詳しくないけど。
公式リファレンス読むといいんじゃないの?

372 :名称未設定:2014/10/31(金) 20:11:04.32 ID:50HVbjgC0.net
>>371
ありがとうございます!なるほどです!

373 :名称未設定:2014/11/01(土) 08:56:35.75 ID:0sEeAKHG0.net
>>361
Appleがずっとサポートするつもりなら全く文句はない
でもそうじゃないんでしょ?

374 :名称未設定:2014/11/01(土) 09:35:08.71 ID:AaYe30E00.net
それはお前の想像?

375 :名称未設定:2014/11/01(土) 10:02:04.35 ID:0sEeAKHG0.net
>>374
えっ?将来的にSwiftに移行するって言ってなかったっけ?

376 :名称未設定:2014/11/01(土) 10:05:42.11 ID:eT6NJXkX0.net
>>370
40代おっさん乙

377 :名称未設定:2014/11/01(土) 12:05:04.18 ID:q8oVjd3l0.net
>>375
(まだ)言ってない。Swiftで喜んでいたヤツの妄想だろ
現にまだObjective-Cベースだろ、Cocoa Touchのを作るためには

378 :名称未設定:2014/11/02(日) 01:27:29.99 ID:ajw7gDm90.net
水太

379 :名称未設定:2014/11/02(日) 22:44:28.03 ID:rLbUc2JH0.net
プログラム板に書いたが、話題の流れ的に、こっちに書くべきだった

828 :デフォルトの名無しさん:2014/11/02(日) 17:35:40.34 ID:1g7aEKYI
AppleはObjective-Cを、MicrosoftはC++をそれぞれ除去して、
低レベルレイヤーはCオンリー、
アプリケーションはSwift、C#という流れに。
いずれも、AndroidがC(Linux) / Java体制であることの追従。

380 :名称未設定:2014/11/02(日) 22:53:34.07 ID:A6QBdZ010.net
転載するほど大したこと書いてない

381 :名称未設定:2014/11/02(日) 23:52:46.85 ID:lNJAF1110.net
Objective-CをSwiftに変えることがアプリレイヤをJavaで書くことの追従?
理屈がさっぱりわからん

382 :名称未設定:2014/11/03(月) 00:17:29.73 ID:nVRB0/+60.net
 上位層はパフォーマンスが落ちるがハンドリングしやすい言語で書いて、
下位はパフォーマンスがいいがハンドリングしにくい言語で書くことぐらい、
高級言語が出来た時から当たり前の話で、いまさらドヤ顔して書くことじゃない。
 

383 :名称未設定:2014/11/03(月) 00:45:57.35 ID:DtIwyech0.net
なんかイタいヤツだなあ。いやイタすぎるヤツか

384 :名称未設定:2014/11/03(月) 01:13:58.19 ID:b0ozgTCy0.net
イタ飯喰らいでどうもスンマソン

385 :名称未設定:2014/11/03(月) 08:36:14.59 ID:ywpDM3jx0.net
すでにある関数でも引数が違えば同じクラスに存在できるみたいなのですが、
どちらかをオーバーライドしたい時にはどう書けばいいのでしょうか?

func makeButton(Frame: CGRect, text: NSString, tag: Int) -> UIButton
func makeButton(Frame: CGRect, text: NSString, tag: Int, hoge: Int) -> UIButton
hogeを追加した同名の関数でもエラーにはならないです。

386 :名称未設定:2014/11/03(月) 15:02:02.76 ID:DtIwyech0.net
なにを聞きたいのかわからない。他の言語でオーバーライドしたことあるの?

387 :385:2014/11/03(月) 15:47:34.76 ID:ywpDM3jx0.net
>>386
れす、ありがとう
調べたらswiftのオーバーライドはクラスのみってことみたいね。
間違えてたらご指摘ください。

388 :名称未設定:2014/11/03(月) 16:32:54.44 ID:DtIwyech0.net
他の言語でもクラスに属さないのはオーバーライドできずに単なる2重定義エラーになると思うけど、なんかできたのあったっけ?
(てかできたら、意図せずのエラーの原因にしかならないような)

389 :名称未設定:2014/11/03(月) 17:26:11.61 ID:GpE0pxN60.net
オーバーロードと勘違いしてる疑惑

390 :名称未設定:2014/11/03(月) 19:15:13.93 ID:ZYuyf78m0.net
Swiftでも当然カテゴリー使えるんだよね?

391 :名称未設定:2014/11/03(月) 19:41:18.66 ID:XMG1x0Ol0.net
extension NSString {
func toURL() -> NSURL {
...........
return NSURL.URLWithString(self);
}
........
}

392 :385:2014/11/04(火) 09:28:38.52 ID:EdEvWWna0.net
すみません。
なんか勘違いしてましたというか、オーバーライドやデリゲートをググってたら頭が混乱してきました。
継承してオーバーライドすれば継承元のメソッドや関数が利用できるので、デリゲートはいらないような気がするのですが。
スレ違いとは思いますがデリゲートと継承の違いってなんでしょうか?
よろしくお願いします。

393 :名称未設定:2014/11/04(火) 10:09:42.87 ID:dR9eMPYH0.net
三次元コピーが実用化したとして
ある車をコピーしてコピーした車を改造すると
「元の車」と「改造した車」ができる。
いちいち車を毎回一から作らなくていいので楽!使い回し万歳!
と、この「継承」というアイデアは良かったのだが
元から派生Aと派生B、派生Cと作ってゆくうちに
派生A改と派生C改改とで互換性がなかったりと
改造で枝分かれしちゃう継承ツリーの問題点が顕に。

そうじゃないだろ、元の車の改造ポイントを明示して
パーツを丸ごと付け外しできるハードポイントを決めておけば
派生A改の改を外して派生Cにハメたりできんだろ
というのが「デリゲート」に限らず旧来の継承に頼らない
オブジェクト指向のトレンドです。

394 :名称未設定:2014/11/04(火) 10:16:44.60 ID:oFOlJQYh0.net
委譲

395 :名称未設定:2014/11/04(火) 10:26:49.84 ID:pFw6fKxx0.net
デリゲート市ね、ブロック使うんだよ!が swift のトレンド?

396 :名称未設定:2014/11/04(火) 10:29:55.90 ID:oFOlJQYh0.net
デリゲートは考え方
ブロックは手段

397 :名称未設定:2014/11/04(火) 11:27:12.08 ID:UXGHplGb0.net
オーバーライド:OOPSによってなな乗っ取り/上書き
デリゲート:古典的なCallbackの変形

398 :名称未設定:2014/11/04(火) 11:48:43.34 ID:UXGHplGb0.net
そういえば、元々はNSApplicationのサブクラスを作ってってので、NSApplicationDelegateなんて存在しなかったんだよな
ということで>>392が言っていることはあながち間違いでもないが、Delegateにしたほうが目的がはっきりするとかカッコイイとかいろいろな理由からたとても賢い人たちがそうしてんだから素直に受け入れろw

399 :名称未設定:2014/11/04(火) 12:31:34.79 ID:sF88Ve+K0.net
継承は一つのクラスからしか出来ないが、委譲は多対多が可能。
格好いいとか阿呆か。

400 :名称未設定:2014/11/04(火) 12:34:20.82 ID:4hBd4oOv0.net
Xcode で書いてると SourceKitSerivce がクラッシュしまくって使い物にならないんだけど、みんなちゃんと動いてるの?

401 :名称未設定:2014/11/04(火) 12:39:37.33 ID:UXGHplGb0.net
>>399
それだけじゃないだろってことだよ
NSApplicationDelegate実装したクラスをいちいち自分で作ってんの?または、NSApplicationDelegateにいろいろ機能てんこもりしてんの?iOSしかやってないんだったら、UIApplicationDelegateでもいいけど

402 :名称未設定:2014/11/04(火) 12:42:32.91 ID:UXGHplGb0.net
>>401
×NSApplicationDelegateにいろいろ
○AppliationDelegateクラスにいろいろ

403 :名称未設定:2014/11/04(火) 13:03:36.56 ID:BjiqQyEm0.net
みんなクラッシュさせながら使ってる
訓練されてるから大問題にならない

404 :385:2014/11/04(火) 16:07:05.11 ID:EdEvWWna0.net
みなさん、レスありがとうございます。
デリゲートと継承の違いがわかりました。
別にデリゲートに文句言ってるわけじゃないですよ。
今まで小さなアプリしか作ったことがないので、デリゲートの有用性がいまいち分かりませんでしたが
ある程度複雑なものになるとデリゲートがあったほうが色々都合がいいと。
ただ、XCODEで部品をドラッグ&ドロップで設置できるなら、部品を接続した時にデリゲートがある部品はデリゲートの
宣言(設定?)までして欲しいなぁ。

405 :名称未設定:2014/11/04(火) 19:44:33.55 ID:4hBd4oOv0.net
>>403
なるほど。精進します。

406 :名称未設定:2014/11/04(火) 22:32:10.54 ID:9bi06fAq0.net
swiftでゲームを作っています
敵が画面から出たら消去という処理をしたいのですが
エラーが出て解決できないでいます...
どなたかアドバイスを頂けませんでしょうか?
for i in 0...敵.children.count {
if( 画面外_x > 敵.children[i].position.x){//fatal error: Array index out of range
node.children[i].removeFromParent()
}
}

407 :名称未設定:2014/11/04(火) 22:37:52.54 ID:whRwhC0E0.net
>>406
「...(ピリオド3つ)」は末尾の数字を"含む"範囲だから
インデックスに使うなら末尾を含まない範囲の「..<」を使って
for idx in 0..<array.count { }
ってしないといけない

408 :名称未設定:2014/11/04(火) 22:38:33.88 ID:sF88Ve+K0.net
敵.children[敵.children.count-1] なら良いけど、
敵.children[敵.children.count] がアカンのは分かる?

よって 0...count じゃなくて、0..<count にすべき

409 :名称未設定:2014/11/04(火) 22:39:02.56 ID:sF88Ve+K0.net
被ったorz

410 :名称未設定:2014/11/04(火) 22:39:04.32 ID:9bi06fAq0.net
>>406
間違えました!
. for i in 0..<敵.children.count {
. if( 画面外_x > 敵.children[i].position.x){ //fatal error: Array index out of range
. 敵.children[i].removeFromParent()
. }
. }

411 :名称未設定:2014/11/04(火) 22:42:28.34 ID:sF88Ve+K0.net
>>410
配列の要素を減らしてるのに、i が元の配列数で動いてるのが問題。
そういう時は配列のケツから参照して削っていく。

412 :名称未設定:2014/11/04(火) 22:46:45.27 ID:whRwhC0E0.net
それだ!('A`)

413 :名称未設定:2014/11/04(火) 22:49:41.77 ID:9bi06fAq0.net
>>407
>>408
ありがとうございます!

>>411
なるほど!イメージできました!
ありがとうございます!!!!!!

414 :名称未設定:2014/11/04(火) 23:09:35.80 ID:9bi06fAq0.net
こちらでうまく動きました!ありがとうございます!
for( var i = 敵children.count - 1; i > 0; i-- ){
敵.children[i].removeFromParent()
}

415 :名称未設定:2014/11/05(水) 08:59:41.22 ID:RbzhyyOd0.net
> i > 0;

i >= 0; じゃないと要素を全部舐めないような

416 :名称未設定:2014/11/06(木) 10:20:42.42 ID:oiN7eH8M0.net
swiftの入門本で勉強中なんですが、サンプルを打ち込んでシミュレーションで実行しようとすると
No signing identity found
というアラートが出てきて実行できません。
本の中のサンプルを幾つも実行してきて初めて出てきました。
雰囲気的にはデベロッパー登録をする感じなんですが、なぜ急にそんなアラートが出てくるのか
わかりません。
別のアカウントを作って追加で登録とかしなくてはいけないのでしょうか?

417 :名称未設定:2014/11/06(木) 12:10:35.10 ID:I22/eflh0.net
>>416
iPhoneをMacに繋ぐと実機で実行しようとするから、シミュレータに切り替えよう。

418 :名称未設定:2014/11/06(木) 13:34:37.60 ID:oiN7eH8M0.net
>>417
ありがとうございます!
動きました。

419 :名称未設定:2014/11/07(金) 00:47:12.35 ID:wnh25IBH0.net
Swiftってすばらしい言語だなー(棒

420 :名称未設定:2014/11/09(日) 00:24:39.42 ID:pubKJJ0f0.net
Swiftの仕様がきちんと固まって安定したら起こして

421 :名称未設定:2014/11/11(火) 18:37:37.12 ID:mDIgCX5J0.net
今、xcode5.1.1を使ってるんだけど、これを温存したまま6.1も入れる方法ばありますか?

422 :名称未設定:2014/11/11(火) 18:49:57.19 ID:cNy9W+Sf0.net
うん、いくらでも

423 :名称未設定:2014/11/11(火) 19:41:17.47 ID:mDIgCX5J0.net
>>422
そうですか。

424 :名称未設定:2014/11/12(水) 09:40:01.46 ID:vbBd0SfX0.net
Yosemite だとデフォルトで /usr/bin に swift 入ってるんだな

425 :名称未設定:2014/11/12(水) 09:57:07.71 ID:9BduefUX0.net
コンパイラ?ランタイム?と man を読もうとしたら
swift - the amazingly new programming language

amazingly で new ですか、そうですか・・・wwww
この man いつまでメンテするんだろうな

426 :名称未設定:2014/11/13(木) 07:47:43.11 ID:5Yz9vtpY0.net
swiftを使ってみたいがMac OSが10.9.5なんだよね。
10.10以降じゃないと動かない。

427 :名称未設定:2014/11/13(木) 08:25:18.97 ID:eduPkLSs0.net
言ってんだか

428 :名称未設定:2014/11/13(木) 18:52:51.87 ID:SnV6RbNX0.net
Swift part4
http://peace.2ch.net/test/read.cgi/tech/1415860741/

429 :名称未設定:2014/11/14(金) 13:49:50.15 ID:QVSW8QeS0.net
下記のプログラムを実機ではなく、macbook上のシミュレーターで実行した場合、
fileNameで指定されたファイルはどこに保存されるのでしょうか?
実機で実行しないとファイルは作られないのでしょうか?
//バイト配列の書き込み
func data2file(data: NSData, fileName: NSString) -> Bool {
var path = NSHomeDirectory().stringByAppendingPathComponent("Documents")
path = path.stringByAppendingPathComponent(fileName)
return data.writeToFile(path, atomically: true)
}

430 :名称未設定:2014/11/14(金) 14:47:54.62 ID:Ag7DdgVy0.net
止めてpath調べればすぐに分かる。

431 :名称未設定:2014/11/14(金) 18:19:00.19 ID:QVSW8QeS0.net
止めてpathの中を見ましたが、pc内には無かったです。
予めフォルダーを作っておく必要がありますか?

432 :名称未設定:2014/11/14(金) 18:33:45.46 ID:2zYQvtWp0.net
>>431
NSFileManager
URLForDirectory(_:inDomain:appropriateForURL:create:error:)
を普通使うと思う

NSHomeDirectoryもHomeがじゃなくDocumentsとか特定のはそうやってくっつけじゃなく、
NSSearchPathForDirectoriesInDomainsの方が。で、そこでNSFileManager
URLForDirectoryを使えと言っているし

433 :431:2014/11/14(金) 22:47:48.73 ID:QVSW8QeS0.net
レス、ありがとうございます。
試してみます。

434 :431:2014/11/15(土) 15:23:08.07 ID:FHR5Miqq0.net
何度もすみません。
>>429で書いたコードを実行するとpathには
/Users/hogehoge/Library/Developer/CoreSimulator/Devices/881C18B1-2932-4AC1-BF4F-ED2752DDC7D2/data/Containers/Data
/Application/C37EC247-534A-459D-9B19-2F9530DC6904/Documents/test.txt
と、入っていました。
但し、Finderでこのパスを見ようとしてもLibrayまでは見つけられるのですがその先が見当たりません。
swiftとは関係無い質問になってしまいますが、このパスが存在するか調べるにはどうしたらいいでしょうか?
ちなみに、プログラムの実行状況から見てtest.txtというファイルでの読み書きはしているみたいです。
シミュレーションだからmac側からは見られないようになっているのでしょうか?
よろしくお願いします。

435 :名称未設定:2014/11/15(土) 15:48:36.29 ID:kEyjdBdd0.net
>>434
「Finder 不可視ファイル」でぐぐれ。

436 :名称未設定:2014/11/15(土) 16:00:51.42 ID:kKysTiH80.net
>>434
まずググってそれから質問スレ行けよ

437 :名称未設定:2014/11/15(土) 21:43:46.08 ID:gI/Dw34H0.net
ここは幼稚園児の431の面倒を見るスレか。

438 :名称未設定:2014/11/16(日) 03:00:50.52 ID:7s+0cGMd0.net
マカーは親切者ばかり

439 :431:2014/11/16(日) 23:40:26.40 ID:3Tm/jNmf0.net
ありがとう。
ファイルが確認できたからすっきりしたわ。

440 :名称未設定:2014/11/18(火) 07:20:49.62 ID:KdKKU0bM0.net
最近ようやく日本語のswift入門書が増えてきたね
半年前の和訳騒動が懐かしい・・・

441 :名称未設定:2014/11/19(水) 01:21:37.39 ID:gaqfKe240.net
医療プログラマーが超高難易度の免許制に / フリーソフトやオープンソースの無作為配布も全面禁止
http://fox.2ch.net/test/read.cgi/poverty/1416286592/

442 :名称未設定:2014/11/19(水) 10:21:58.11 ID:4Cn0QVB60.net
swiftの本でメール送信のサンプルがあって、シミュレーションで実行しようとすると異常終了してしまいます。
こういう時って、本の名前とか出して質問してもok?

443 :名称未設定:2014/11/19(水) 12:22:55.20 ID:mLZAJ0440.net
何故ダメだと思ったのかw

444 :名称未設定:2014/11/19(水) 12:35:26.73 ID:5FgilvgW0.net
宣伝とか言われるじゃん

445 :名称未設定:2014/11/19(水) 13:09:19.97 ID:+zemmV5p0.net
ステマバカが跋扈してるからな。
特定の商品の名前を出しただけで「ステマダー!」って大騒ぎするやつ。

446 :名称未設定:2014/11/19(水) 13:15:13.03 ID:GtQucwsa0.net
スウェーデンのこのバンドのCDいいぜーって話しをしてて
ステマ言われた時は、もうじゃあ何話せばステマじゃねーんだよ思った。

447 :名称未設定:2014/11/19(水) 15:12:29.31 ID:c7VPDuDK0.net
gist的なものにコード張れや

448 :442:2014/11/19(水) 22:29:30.00 ID:4Cn0QVB60.net
自分はホームページもグログも何もやってないので、すぐにgist的なものにコードが貼れないです。
どこか貼れるとこありますか?
ここに貼ってもいい?

449 :名称未設定:2014/11/19(水) 22:37:52.25 ID:0g5KPr260.net
>>448
gists的なものはgitstsそのものもだと思うけど。gistsは単発でも貼れるみたいだけど。なんか他に規約があるの?
他にはcodepadとか。SwiftはサポートしていないからPlain Textでだけど
(ここに貼ってもいいと思うけどw)

450 :名称未設定:2014/11/19(水) 23:52:25.24 ID:pChXj3UZ0.net
pastebinに貼ればいいんでないの

451 :名称未設定:2014/11/19(水) 23:54:00.14 ID:wffMPLeW0.net
作者に聞けよ

452 :442:2014/11/20(木) 07:52:29.66 ID:vkUBSD0m0.net
いろいろ教えてもらってありがとうございます。
下記URLに貼り付けました。
ttp://pastebin.com/BYB66K4u#
送信ボタンを押すとsample.pngと言う名の添付ファイルを送るプログラムになっています。
症状としては送信ボタンを押すとメールソフトの画面に切り替わるのですが、アドレス等の入力には反応せず
数秒すると予期せぬ原因で停止となります。
当方の環境はOSX10.10.1です。
プログラムが悪いのか、当方の環境のせいなのかがわからないので試していただけるとありがたいです。
よろしくお願いします。

453 :名称未設定:2014/11/20(木) 12:24:57.32 ID:cc7BvaUo0.net
textFieldShouldReturn の中で endEditing を呼び出すのって良いのかね

454 :名称未設定:2014/11/20(木) 17:03:04.28 ID:N17ARoMx0.net
これが原因じゃねーの?
http://stackoverflow.com/questions/25895634/email-composure-ios-8

実機だとマシな程度には動いたぞ

455 :名称未設定:2014/11/20(木) 20:17:33.31 ID:Hs5fYpgm0.net
「Software Design」誌でこんな連載が始まった

http://gihyo.jp/magazine/SD/archive/2014/201412#toc

【新連載】書いて覚えるSwift入門
【1】One More Thing for Developers……小飼 弾

日本最高レベルのハッカーである小飼さんがこういう記事だしてきたってことは
Swiftブームくるな
絶対買って読むべき

456 :名称未設定:2014/11/20(木) 20:19:23.24 ID:stGPeuAx0.net
小飼弾が最高レベル?
笑うとこ?

457 :名称未設定:2014/11/20(木) 20:40:52.59 ID:ZJJt3tcv0.net
小飼弾は最高レベルではないが、 >>456より段違いにレベルが高いのは間違いない。

458 :名称未設定:2014/11/20(木) 20:41:56.62 ID:vNKoyvbq0.net
小飼 弾って指で文字が隠れているのに
本が読める奴か

459 :名称未設定:2014/11/20(木) 20:42:36.19 ID:vNKoyvbq0.net
>>457
小飼は金は持っているけど、別にレベルは高くないだろ

460 :名称未設定:2014/11/20(木) 20:48:08.91 ID:kmaTJhLm0.net
弾すら乗っかってくるくらい普及したってことだよ

461 :名称未設定:2014/11/20(木) 20:49:06.65 ID:kmaTJhLm0.net
ていうか今月のSDはDockerだろう
もう猫も杓子もDockerでSwiftどころじゃない

462 :名称未設定:2014/11/20(木) 21:05:00.86 ID:N17ARoMx0.net
今さらdockerって、、、

463 :名称未設定:2014/11/20(木) 21:16:38.20 ID:Hs5fYpgm0.net
小飼弾さんの速読実演
https://www.youtube.com/watch?v=s7wEesGmQQ4

元オンザエッヂCTOの小飼弾さん。 Perlエンジニアとして有名。 ちなみに
六本木の某マンションの最上階に住んでいて、映画バベルにその部屋がセット
として使われてます。 アルファブロガーとしても有名だから小飼弾と検索
したらブログがすぐに見れるはず。 以上説明終わり しかしすげぇー速読だ。

464 :名称未設定:2014/11/21(金) 00:10:36.23 ID:yi9CS3fQ0.net
専ブラ作ろうと思ってHttpRequestでいきなり躓いた・・・
http://software.techassistbox.com/swift-dynamic-cast-failed-with-http-get-request_5930387.html
これの通りやってるんだけどdatが取れないんだけどなんで?

465 :名称未設定:2014/11/21(金) 00:29:02.04 ID:mRaPgxwb0.net
>>464
ふつーにdataに来るけど。URLが違うんじゃね
2ch URL dat
ででもググってみ

466 :名称未設定:2014/11/21(金) 01:02:19.00 ID:rPU3dXIH0.net
小飼弾に目を付けられたってSwift的には不吉じゃね?

467 :名称未設定:2014/11/21(金) 01:12:37.31 ID:3rQW48d40.net
発表直後からハッスルしてたし今更

468 :名称未設定:2014/11/21(金) 01:14:35.09 ID:9aAT+q3d0.net
ある日突然ハシゴを外すんだろう

469 :名称未設定:2014/11/21(金) 15:53:05.93 ID:/QSuxn8y0.net
つまずいてしまったのでどうか教えてください


練習で簡単なストップウォッチアプリを作っています。
タイマーが動いていない時(タイマー=false)のときにスタートを押したらカウント開始して(タイマー=true)になり、ストップボタンを押したら再びタイマーが止まり(タイマー=false)になるコードを書いています。

普通に使うと問題なくアプリは動作するのですが、タイマーが動いてないとき、つまり(タイマー=false)のときにストップボタンを押すとアプリが落ちてしまいます。

if文でタイマーが動いているときのストップボタンの動作しか書いていないからだと思いますが、if文でタイマー=falseのときは何もしないでくれと命令がしたいです。

どのようなコードを書けばいいのでしょうか?

470 :名無しさんの野望:2014/11/21(金) 17:11:55.09 ID:u9WVe2ng0.net
サル惑ちょっとコードでええ おもて

471 :名称未設定:2014/11/21(金) 21:40:49.75 ID:LNLxsYGv0.net
>>469
[SDK]iPhoneアプリ開発初心者質問箱41[touch][iPad]
http://anago.2ch.net/test/read.cgi/mac/1413893867/

472 :名称未設定:2014/11/23(日) 02:32:30.04 ID:nXuKwEXU0.net
>>469
タイマーとして何を使っているの?

473 :名称未設定:2014/11/23(日) 17:24:02.57 ID:O5Ww1b6i0.net
>>469
タイマーとして何を使っているの?

474 :名称未設定:2014/11/23(日) 19:19:07.49 ID:fyJyJazB0.net
>>465
dataには入ってるんだけどEncodしてハッシュテーブルにできないんよ

475 :名称未設定:2014/11/24(月) 19:31:10.68 ID:oZ+B9TLu0.net
ファイルをオープンして、1文字(Character)ずつ処理したいんだけど
どうやってやるのかわからん…

476 :名称未設定:2014/11/24(月) 20:42:03.79 ID:Bb6WTke80.net
たしかに

477 :名称未設定:2014/11/24(月) 21:45:55.64 ID:L1e1B8Iu0.net
fgetc

478 :名称未設定:2014/11/24(月) 22:20:50.66 ID:LoesYD0q0.net
fgetcってどうやって叩くんだ?とヘッダ追ったら
C関数が直接叩けるんじゃなくてご丁寧にマッピング関数が用意されてんのか
ホント笑える言語だなw

479 :名称未設定:2014/11/24(月) 22:51:14.35 ID:1xj9TAZb0.net
それ自動生成されたヘッダだけど。ほんと笑えるなお前

480 :名称未設定:2014/11/25(火) 07:54:00.19 ID:g6rpS0Bx0.net
swiftからCが直接叩けてないことがツボだったんだが
手作業で作ってないってわざわざ指摘してくれるのか、親切な住人のいるスレだw

481 :名称未設定:2014/11/25(火) 08:23:33.81 ID:udVPcH2u0.net
NSFileHandle

482 :名称未設定:2014/11/25(火) 17:05:52.61 ID:bwxphInT0.net
NSFileHandle

483 :名称未設定:2014/11/26(水) 00:20:22.90 ID:b8gJXimn0.net
bridging headerを与えればCの関数が直接呼べるのは間違いないんだけど
libcの関数の扱いはなんか別なんだよね

484 :名称未設定:2014/11/26(水) 01:03:00.26 ID:BoyVGBvJ0.net
なんで直接叩けてないのがツボったんだろ?
自動でブリッジできるって素敵な事ちゃうのん

485 :名称未設定:2014/11/26(水) 01:47:23.78 ID:SKJy8D0j0.net
fgetc で 1バイト取ってこれるのはやっと理解できた
ありがたや
しかし、取ってきた Int32 を Character に変換する方法がわからなかった…
CChar [] を String にする方法はみつかったんだけど
いちいち 1バイトずつ CChar 配列にして String にするのもアホらしいしね

486 :名称未設定:2014/11/26(水) 03:12:44.69 ID:b8gJXimn0.net
そもそもCharacterといってもエンコーディングを内包したものだろうから
String経由でしか無理なのでは

無理やりSwiftの世界に持ち込まずにCもしくはObjCで書いてブリッジさせたほうがいいと思うけど...

487 :名称未設定:2014/11/26(水) 09:15:50.68 ID:li+5D5f80.net
bridging headerもビルド時に対応するswiftヘッダファイル作ってるよな、確か
swiftcってホントやること多いコンパイラだわ

488 :名称未設定:2014/11/26(水) 11:00:57.53 ID:9rbCCTux0.net
私もそう思うわ

489 :名称未設定:2014/11/29(土) 08:13:05.23 ID:7ftsAm6l0.net
速く、xcodeのリファクタリングが使えるようにして

490 :名称未設定:2014/11/29(土) 21:26:50.92 ID:aYwZlbzZ0.net
>>480
直接叩けないなら何を経由してるんだ?

491 :名称未設定:2014/11/29(土) 22:45:50.32 ID:cRjaKE+H0.net
>>480みたいな妄想君ってまだ息してたんだ

492 :名称未設定:2014/11/30(日) 07:17:38.38 ID:yWkgZ9gJ0.net
>>490
小さなランタイムだろ

493 :名称未設定:2014/11/30(日) 15:40:51.15 ID:soQIVOjf0.net
ランタイムは経由してないよ、バイナリを逆アセンブルすれば分かるけど直接呼び出してる

494 :名称未設定:2014/11/30(日) 16:29:59.86 ID:2lsAdbqa0.net
日経ソフトウェアがSwift特集やっている
初心者方面でもSwiftに興味を持つ人が増えそうだな

日経ソフトウエア 2015年 01月号
http://www.amazon.co.jp/dp/B00PCOGH1U/

【特集1】
6ステップで完全理解Appleの新言語
『Swiftスーパーガイド』

495 :名称未設定:2014/12/01(月) 00:10:56.17 ID:3GhkgERs0.net
試してみようかなと思ったが、そもそもコンパイル通らねえw
Xcodeからビルドするとゴミだらけになるし、 swiftcでiphoneosをターゲットにするとセグる

考えるのやめてアポー様が適当にやってると思い込むのがいいな

496 :名称未設定:2014/12/01(月) 02:41:15.25 ID:mR+Oetwi0.net
なんだまだそんなに役に立たない完成度なんだ
発表してからもう半年ぐらい経ってねえ?

497 :名称未設定:2014/12/01(月) 04:15:54.41 ID:L98uawV20.net
それはギャグか?

498 :名称未設定:2014/12/02(火) 07:53:19.96 ID:5EV9sp/k0.net
つーかSwiftって要るのか?…

499 :名称未設定:2014/12/02(火) 16:01:59.30 ID:41yQ9liR0.net
Swiftのおいしい部分だけObjective-C 3.0に取り込まれればそれでいいやって思ってる

500 :名称未設定:2014/12/03(水) 02:47:35.14 ID:4pkpmo3h0.net
それやって欲しいけど、Cなんかと被るから難しそう。かえって混沌とするんじゃ?

501 :名称未設定:2014/12/04(木) 07:46:36.75 ID:rl7dFRX90.net
むしろObjective-Cのが要らんだろw

502 :名称未設定:2014/12/04(木) 08:43:58.89 ID:vaRUzLru0.net
>>501
ん?w

503 :名称未設定:2014/12/04(木) 12:30:57.02 ID:YPvyiuUM0.net
>>500
多分アップルも同じように考えていて、それがSwiftに舵を切る理由の一つになっていると思う。

504 :名称未設定:2014/12/04(木) 17:22:29.40 ID:b/OM5C6N0.net
だよな。Objective-Cで担ってた分は、純粋なCにフォールバックしていくという流れでしょ。

505 :名称未設定:2014/12/04(木) 23:56:53.27 ID:veq+nPuM0.net
オプソ化しないんかなあ
やるともやらないとも明言してくれてないから逆に期待してしまう
この際NSとかのプロプライエタリなライブラリ抜きで構わんのだけど
Dockerあたりに仕込んで使ってみたいお
cと連携できるあたり、手間もそこそこに何でもできそうだし

506 :名称未設定:2014/12/05(金) 10:10:23.70 ID:RJrtwZXY0.net
Flask、Swiftなんだよなぁ

http://www.apple.com/retail/code/

507 :名称未設定:2014/12/05(金) 21:30:19.98 ID:XjcTqNH80.net
>>505
ラトナーがオープンソース化については前向きに考えているけど今は忙しくてとても手が回らないみたいなこと書いてなかったっけ?

508 :名称未設定:2014/12/06(土) 02:22:50.79 ID:Hq0WhUNH0.net
MSでさえ.NET CoreやコンパイラをOSSにしたのにAppleはこれだからな・・・
XamarinでVSから直接コンパイル・デプロイできれば開発はかどるんに

509 :名称未設定:2014/12/06(土) 03:57:09.39 ID:w3JhPxk30.net
VSってLinuxとかOSXで動くの?

510 :名称未設定:2014/12/06(土) 05:37:09.85 ID:3G6uysVq0.net
荻原本出たけど、いつも読み方悩むからひらがなにしてほしかった。

511 :名称未設定:2014/12/06(土) 11:00:33.52 ID:r/tHpCC70.net
おぎはら
はぎわら
おぎやはぎわら

512 :名称未設定:2014/12/06(土) 14:17:35.95 ID:h4gIbs160.net
荻原本って、ObjCの時と同じくKindle版も出るのかな

513 :名称未設定:2014/12/07(日) 04:08:03.06 ID:QYGQ7UZX0.net
VSよりxcodeの方が洗練されてて使いやすいけどな。

514 :名称未設定:2014/12/07(日) 09:29:27.11 ID:PbEBTP4/0.net
それはないw

515 :名称未設定:2014/12/07(日) 12:11:20.88 ID:HrxWz2rS0.net
Xcodeのが使いやすい部分もあることはある。
でもまあトータルではVSかなあ。
まあ同じものを作るのに使い分けできるわけじゃないのでどっちも使いこなすしか無いが。

516 :名称未設定:2014/12/07(日) 12:32:21.62 ID:9mShSLGH0.net
XcodeでもVSでもどっちか/どっちでも選択可能なプロジェクトってどんなの?

517 :名称未設定:2014/12/07(日) 12:34:16.82 ID:9mShSLGH0.net
ああ、そんなもんないのか。意味ねー比較だなあ

518 :名称未設定:2014/12/07(日) 20:49:31.16 ID:nxheSC5V0.net
「いいか、これは、この世界でいちばんいい銃だ! いちばんすぐれた小銃なんだ!!
おれには、これしかないんだ! だから、これがいちばんいいんだ!!」
松本零士「ザ・コクピット/パイロットハンター」

というのはわかるがなぜ他の環境のスレ来てやるかなぁ…と
プログラム関係ではいっつも思う。

519 :名称未設定:2014/12/08(月) 14:39:18.05 ID:m2gW8rYf0.net
あっちもこっちもC#(VS)使いがフィーバーしてんなw
プログラムに限らずどの業界でも自分のツールが至上と信じて疑わない人はいると思う
Apple(iOS)好きなんかもそうだし

520 :名称未設定:2014/12/08(月) 17:13:26.20 ID:XHrFe8m20.net
VisualStudioは商用開発するとなると糞みたいに高い。ADCはMacとiPhone
併せても16,000円弱。昔はADCも糞みたいに高かったけど、その代わり
開発機材がほぼ半額で買えた。

521 :名称未設定:2014/12/08(月) 18:12:16.97 ID:w7mavQjN0.net
最大でも20%だったけど。20%でも大きかったけど

522 :名称未設定:2014/12/08(月) 23:37:05.93 ID:ZFvEZIW40.net
Xcodeより先にAppCodeがSwiftのリファクタリングサポートしてる件

523 :名称未設定:2014/12/09(火) 07:32:41.32 ID:+A39vJEv0.net
Mac本体 iPhone本体で20万前後飛ぶんだよなぁ

appleはリファクタリング機能より先に source kitの不安定さを直すべき
開発環境の優劣でプログラマは流れる時代だけど、そもそも開発が出来ないんだよ!

524 :名称未設定:2014/12/09(火) 10:18:49.29 ID:Wo9xuXgk0.net
そういうあなたは優れた開発環境に流れてみてはいかがでしょうか?

525 :名称未設定:2014/12/10(水) 09:27:40.31 ID:SjfjD99V0.net
>>521
それは旧ADCの末期の頃。90年代はApple Partner'sは45%引きで買えた。
最初の頃は購入出来る数にも制限がなかったから、開発機材を揃えるのが
楽だった。

526 :名称未設定:2014/12/10(水) 13:12:09.42 ID:ZiQHFuwu0.net
>>524
自分vi使いなんで、、、
優れてる訳もないけど手に馴染んで離せない
手離せないけど優れてないから色んな開発環境渡り歩きだ
言語も同じくpython好きだけど swift に浮気も悪くない

527 :名称未設定:2014/12/11(木) 13:10:24.01 ID:g+c/FneA0.net
なぜSwiftなんだ? Pythonにしてくれれば良かったのに...シクシク。

528 :名称未設定:2014/12/11(木) 16:14:18.67 ID:qR/oY0zz0.net
javaもrubyもphpもcもhspもなでしこも live codeも他諸々やってる
別に swift が特別じゃないよ

529 :名称未設定:2014/12/11(木) 23:41:41.65 ID:FVkT71x70.net
>>527
Pythonじゃアップルが好きなように仕様変更できないからな。

530 :名称未設定:2014/12/13(土) 00:19:53.12 ID:PIDrRWPU0.net
遊ぶにつれLinuxサーバサイドで使いたくなってほんと困る
Java系には分が悪いだろうけど、それでもc系ライブラリが繋げやすすぎて変なテンションになる
おもしろおかしい

531 :名称未設定:2014/12/13(土) 00:43:28.16 ID:z/BYS7/I0.net
macサーバでいいじゃん
なんでLinux?

532 :名称未設定:2014/12/13(土) 01:32:44.75 ID:PIDrRWPU0.net
一言で言うと仮想化すね
板違いな内容をなるたけ割愛して説明したいところですが、逆にややこしくなったんで消して直な説明で失礼します
1.要は手元のvirturlboxやAWSで汎用できるdocker環境で動作させたいんですね。
2.「Docker上のCentOS上でswiftなアプリ起動させて複数鯖に大量デプロイしまくりとか素敵やん?(じゅるり」みたいなイメージですw

533 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 13:34:20.13 ID:oyt+PllY0.net
手段が目的な人ですね!

534 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 14:12:12.56 ID:k7GajJ7r0.net
obj-c/他言語じゃなくswift使うのも手段じゃなく目的なんだろうな
と思ったところでswift使う理由なんて自分だってソレ以外ないわと思い直した

535 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 19:57:02.03 ID:B0F5zIQH0.net
スズキの車がどうしたって??

536 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 19:58:41.17 ID:7zZREgIV0.net
軽トラ便利だな〜って

537 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 21:53:52.48 ID:Cv7xZ0nM0.net
Docker行っちまえ
キモい

538 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 23:29:40.34 ID:BgBGR4wT0.net
swiftでスレ検索すると結構スズキがヒットするから間違えてきたのかな

539 :名無しさん@そうだ選挙に行こう:2014/12/14(日) 02:37:41.10 ID:XRQcqT9g0.net
ネーミングがクソだってことだろ、言わせんな恥ずかしい

540 :名無しさん@そうだ選挙に行こう:2014/12/14(日) 14:06:05.59 ID:I7vpOhfj0.net
ラトナーがテイラー・スウィフト好きだったからSwiftになった説

541 :名称未設定:2014/12/15(月) 16:21:27.70 ID:oZxMAp9d0.net
Int?ってなんて読んでる?
optional Intだと順番が逆になるので「Intかも」にすればいいかと思うけど。

542 :名称未設定:2014/12/15(月) 17:34:12.38 ID:LnjCZsrD0.net
いんとはてな
「いんと」で良いのかな?

543 :名称未設定:2014/12/15(月) 17:47:36.11 ID:nMtQvAbY0.net
Int 「いんと」
Int? 「いん⤵︎とぉ⤴︎」
Int! 「いんとっっ」

544 :名称未設定:2014/12/15(月) 18:44:03.00 ID:zMoFM+Se0.net
いんとクエス(ちょん)
いんとビックリ

545 :名称未設定:2014/12/15(月) 19:48:23.95 ID:ZUlImZLF0.net
Int? いんとかな
Int! いんとだろ

546 :名称未設定:2014/12/15(月) 20:15:51.06 ID:GsyIHyaU0.net
たぶんいんと
ぜったいいんと

547 :名称未設定:2014/12/15(月) 23:22:42.79 ID:k7xF8mmG0.net
いんとのオプショナル

548 :名称未設定:2014/12/16(火) 04:54:41.07 ID:9gdiwWwo0.net
いんて派はいないのか

549 :名称未設定:2014/12/16(火) 07:38:35.09 ID:xZ4coo5N0.net
イントゥッ

550 :名称未設定:2014/12/28(日) 22:50:22.86 ID:XVefSsVm0.net
swiftでiOSアプリの開発ってまだ時期尚早な感じかいな

551 :名称未設定:2014/12/28(日) 22:52:38.30 ID:7IoU33gP0.net
Objective cとブリッジして呼ぶ関数が本当に、objective cと全く同じ動きなのか
なんだか怪しい

552 :名称未設定:2014/12/31(水) 15:52:39.69 ID:ojPpZAsI0.net
関数のコメントはみなさんどのように書いていますか?

553 :名称未設定:2014/12/31(水) 20:33:03.03 ID:OOQcxs5H0.net
書かない

554 :名称未設定:2015/01/01(木) 00:50:21.38 ID:2bX9icqS0.net
swiftで関数型プログラミングやってる人っている?

555 :名称未設定:2015/01/01(木) 09:53:21.61 ID:WBfEaJoC0.net
>>552
これに倣ってる
http://nshipster.com/swift-documentation/

556 :名称未設定:2015/01/01(木) 22:53:09.21 ID:YwS5u7iZ0.net
>>552
 汎用フレームワークやライブラリ、UIコントロールを作って公開するわけじゃないし、書かないな。
クラスやメソッドのネーミング、それ以前に設計を頑張った方が、後々のメンテに聞いてくるし。

557 :名称未設定:2015/01/02(金) 18:08:36.82 ID:ocCem3Q70.net
>>555
 ありがとうございます!勉強になります
>>556
 そうゆうアプローチもあるんですね。

558 :名称未設定:2015/01/03(土) 14:36:13.07 ID:dbhLJ7B10.net
受験勉強しながら・・・

559 :名称未設定:2015/01/08(木) 18:45:27.87 ID:DYjanp070.net
マ板で話題になってるが、

1.0 <= Double.NaN // true
1.0 >= Double.NaN // true

というバグがあるので注意。

560 :名称未設定:2015/01/08(木) 18:49:02.92 ID:fGQ55iDh0.net
そんな比較をするヤツはいない。してるの?

561 :名称未設定:2015/01/08(木) 18:50:39.71 ID:DYjanp070.net
>>560
プログラム書いたことのない人かな?

562 :名称未設定:2015/01/08(木) 18:53:38.24 ID:fGQ55iDh0.net
どうであろうとNaNになった時点でおしまいだろ。演算も比較も無意味
NaNチェックしてNaNだったら演算も比較もしない処理に移るしかないだろ?
どういうプログラム書いているの?

563 :名称未設定:2015/01/08(木) 19:07:38.70 ID:fGQ55iDh0.net
>>559 の比較式に何の意味があるのかわからんが、
let value

if value.isNaN {
NaNになっちゃったよー例外処理
終了
}
if value < 1.0 {
1よりちっさいぞ処理
}
いかづづく…

そもそもNaNになるような演算はしないようにする/その時点でエラーとするけどな。後でNaNチェックだけだと何が問題でNaNになったか限定しづらいので

564 :名称未設定:2015/01/08(木) 19:37:32.62 ID:DYjanp070.net
IEEEのまともな仕様通りならNaNチェックが不要な処理でも一々NaNチェックが必要になるんだぞ?

if x <= 0.0 {
// Swift ならここで x < 0.0 || x == 0.0 であることが保障されない。
}

565 :名称未設定:2015/01/08(木) 20:00:32.54 ID:fGQ55iDh0.net
イミフ
xがNaNだったらということで書いているのか?だったらそれこそ>>561は自分に向けて書いたとしか思えないw

566 :名称未設定:2015/01/08(木) 20:02:25.02 ID:fGQ55iDh0.net
ああ、浮動小数点の==は信用できないというのとは別だよなあ
NaN関係ないし、0.0くらいは信用できるし

567 :名称未設定:2015/01/08(木) 23:43:10.84 ID:piRRdtf60.net
言語仕様としておかしいって話と
そんなコード書くなよって話は別だろ

言いたい内容自体は合ってるんだろうけど論点が違う

568 :名称未設定:2015/01/08(木) 23:50:32.95 ID:fGQ55iDh0.net
いうていることはわかる。注意なんて言うからそんなアホなっていう
雑学の部類としてだな

569 :名称未設定:2015/01/15(木) 20:47:20.98 ID:UnEtASCD0.net
初心者でカメラアプリに挑戦しています。
写真を撮って別のViewに渡したいのですがエラーがでます

protocol ViewControllerDelegate{
func setImg(photo:UIImage!)
}

let myImage:UIImage = UIImage(data: myImageData)!
self.delegate.setImg(myImage)

fatal error: unexpectedly found nil while unwrapping an Optional value
となるんですが、解決できません。
いつもなら!か?を付けたり外したりすると解決するんですが...
助けてください!

570 :名称未設定:2015/01/16(金) 00:13:13.66 ID:1RvkTHka0.net
>>569
>いつもなら!か?を付けたり外したりすると解決するんですが...

そんな曖昧な理解でOptional使うなよ…
self.delegate がOptionalなんじゃないの?
だとしたらOptionalチェーンで
self.delegate?.setImg(myImage)

571 :名称未設定:2015/01/16(金) 03:37:46.07 ID:4hWYpOMR0.net
>>570

ありがとうございます!解決ができました!
がdelegateの書き方が間違っていたのか値を渡せなかったので別な方法を取ることにしました...涙
ちなみにこちらのサイトを参考にしました
ttp://tech.eversense.co.jp/153

Optionalはnilを許容するかしないかって感じだと思ってます!

572 :名称未設定:2015/01/16(金) 14:08:51.93 ID:3evB3Xot0.net
swiftはプログラマがアホでも言語仕様で
セキュアに保たれるから深い理解は不要と思ってます!
(思ってるけど、まったく信用していない)

573 :名称未設定:2015/01/16(金) 14:15:29.35 ID:zsh3op6Z0.net
元々スクリプター?

574 :名称未設定:2015/01/16(金) 16:55:50.14 ID:hsHNAKVV0.net
Obj-C 勉強したての頃に、よく分からずに autorelease とか release とか retain してたのを思い出すw

575 :名称未設定:2015/01/16(金) 19:50:36.94 ID:shfV7gS00.net
ARCになってもその概念を知っておかないと面倒なことになりかねないけどね

576 :名称未設定:2015/01/16(金) 20:11:22.94 ID:tP4ffPho0.net
Objective-C的には「別に使ったら+1使い終わったら-1
0になったら解放。これの何が難しいんだ?」だったんだろうけど
インターフェイスビルダで作ったインターフェイスは起動時に1で〜って
自分でカウントスタートしてないクラスを渡されると混乱が加速。

577 :名称未設定:2015/01/16(金) 22:53:21.92 ID:uusesROg0.net
Apple の資料読みながら、ぽちぽち勉強してるんですが、
C ほどブレークしなくとも、RubyやPythonくらいには
定着してくれるといいな。と願ってます。

objcのライブラリからがんがん nil が返ってくるんで、
仕方なく追加した仕様に見えなくもない>Optional

578 :名称未設定:2015/01/16(金) 23:03:21.05 ID:0ZtDKRwo0.net
言語仕様はnilをできるだけ使わないようにしてるのに
フレームワークnilだらけなんだよね
だからコードは!と?だらけになる

579 :名称未設定:2015/01/17(土) 13:46:34.61 ID:II85MCI30.net
>>576
そうなの?
他人が+1したやつは基本ノーケアでおkがポリシーでしょ
自分がallocかretainしたやつだけautorelease, releaseしておけばいいだけじゃないの?

580 :名称未設定:2015/01/17(土) 14:00:15.93 ID:LnnM01Z30.net
うん
俺もあのレス見たとき、「インターフェイスビルダで作ったインターフェイス(インスタンス)」も同じだろ「これの何が難しいんだ?」と思った

581 :名称未設定:2015/01/17(土) 14:06:30.82 ID:adJB8y+j0.net
ObjCであれSwiftであれ言語に文句垂れる奴の99%は単にそいつがバカなだけっていうね

582 :名称未設定:2015/01/17(土) 14:14:53.58 ID:9lxAgApI0.net
Perlに文句たれてRubyを作った日本人がいるんですが、それは

583 :名称未設定:2015/01/17(土) 14:54:44.48 ID:THQLnkHa0.net
>>562
浮動小数点数の標準規格にそぐわぬ挙動をすることに注意するのは当然だろう。
お前滅茶苦茶言ってるぞ。

584 :名称未設定:2015/01/17(土) 15:03:48.93 ID:qTgEqHXw0.net
Apple規格が標準規格に常に倣うと思ってんの?馬鹿なの?死ぬの?

585 :名称未設定:2015/01/17(土) 15:23:16.17 ID:LnnM01Z30.net
使わなきゃ/使わないんだったら注意する必要もなんもないわなあ
NaNなんて後生大事に持っていても邪魔なだけってのが経験則だなあ

586 :名称未設定:2015/01/17(土) 15:29:31.10 ID:X80wmssQ0.net
カレーが食べたくなった

587 :名称未設定:2015/01/17(土) 16:56:54.10 ID:95nsqBos0.net
半チャーラーメン下さい

588 :名称未設定:2015/01/17(土) 23:17:33.22 ID:AfMgdpX60.net
>>586
それは残りの1%に相当する珍しいケースだね
Pythonを作ったオランダ人も同じ

589 :名称未設定:2015/01/18(日) 11:22:58.21 ID:cTSHC1HP0.net
python2にキレてpython3000作り始めたバカもいるし
言語に文句言うバカは賢いな、言語仕様への盲信者とは違うわ

590 :名称未設定:2015/01/18(日) 11:35:42.34 ID:pKE+BHai0.net
ただ文句だけ言うのと、文句言いながら何かしらやるのと、文句言わずにやる
という違いがわからずに、また、ただ文句言うだけなのになにかしらやっているのと重ねて同じ扱いにするのは馬鹿すぎる

591 :名称未設定:2015/01/18(日) 11:56:40.79 ID:8zAQncWX0.net
新しい言語を作る馬鹿 > 既存言語に文句言う馬鹿 >>> 与えられた環境を疑わない馬鹿
C言語からの脱却を図った馬鹿は文句言う奴がいてこそだけどな

592 :名称未設定:2015/01/18(日) 12:17:45.92 ID:pKE+BHai0.net
お前はそれのどれにあたるの?
与えられた環境を疑わない馬鹿?

593 :名称未設定:2015/01/18(日) 12:24:38.21 ID:pKE+BHai0.net
まあ、そんなことはないんだろうけどww
>>590の最初はある意味普遍的wなことだよ
小中、中高、高大でそれぞれのステップを最低限でも理解するはずなんだけどなあ

まあ、精神的に小学生が2chに多いのだからしょうがないか。しかも、なにかしら成し遂げたのと(全然違うのに)自分を重ねてでしか自我を保てないのも多いしな

594 :名称未設定:2015/01/18(日) 18:10:09.93 ID:dkZpmwam0.net
>>579
>>580
Mac OS だとnib起動時にすで+1されてるので云々

595 :名称未設定:2015/01/18(日) 20:02:56.01 ID:kL3eDrGb0.net
IBでインスタンスを最初から作ってきてるヤツはカウント1
自分のクラスで生成(+1)解放(-1)ってやってるのと混ざった時に
IBに出来合いインスタンスは最初が1だから解放されない。
だから生成解放を繰り返すコントローラはIBから受け取ったデフォルトにだけ
リリースを打つ…と打った瞬間にカウンタ0になるから消え去っちゃのでw
まず自分でリテインしてからリリースするという
ハンドシェイクのおまじないが必要で…云々

596 :名称未設定:2015/01/18(日) 20:19:48.74 ID:pKE+BHai0.net
何を言っているのかイミフ>>594,595
リソースによりのインスタンスも同じ。自分でオーナーシップを獲得していなければ、自分の制御外で解放される
それが嫌であればオーナーシップを獲得し、不必要になれば放棄する

リソースによりのインスタンスが解放されないのであれば、そのインスタンスがシステム/フレームワーク内の都合で、そこでオーナーシップを獲得しているにすぎない
それを解放させるのはシステム/フレームワークで準備されているからそれを使う/呼べばいいだけ

597 :名称未設定:2015/01/18(日) 22:04:55.17 ID:kL3eDrGb0.net
そりゃ、ARCなしの『Objective-Cの話』だしな。
で、なんの話してんの?おまえ。

598 :名称未設定:2015/01/18(日) 22:06:33.96 ID:pKE+BHai0.net
ARCでも同じ。自動にやっているにすぎないし、ある程度は属性で自分ででも
いや、お前に言われたくないってw

599 :名称未設定:2015/01/18(日) 22:16:09.40 ID:pKE+BHai0.net
デバッグしてやるから、
>IBに出来合いインスタンスは最初が1だから解放されない
っていうサンプルコード出してみ

600 :名称未設定:2015/01/18(日) 23:06:29.16 ID:kL3eDrGb0.net
(こんなレベルの奴がObjective-C弄ってメモリリーク起こしまくってiOSのせいにしてたら嫌だなぁ…)

601 :名称未設定:2015/01/19(月) 01:06:08.25 ID:RSXvtGdv0.net
いやいや、
>IBに出来合いインスタンスは最初が1だから解放されない
お前がだろっ!ww
なんなんだこいつは、病気かっ!

602 :名称未設定:2015/01/19(月) 02:19:44.77 ID:An8jqXXa0.net
IBだろうがSBだろうが、rootViewControllerでさえコードで解放できる。

603 :名称未設定:2015/01/19(月) 10:41:12.91 ID:pr7GXL7Z0.net
配列の入れ子ってできないのかな

let a=配列1
let b=配列2
let c=[配列1,配列2]
なんかエラーでるや

604 :名称未設定:2015/01/19(月) 10:41:46.47 ID:pr7GXL7Z0.net
>>603
間違えた

let a=配列1
let b=配列2
let c=[a,b]
なんかエラーでるや

605 :名称未設定:2015/01/19(月) 12:08:10.37 ID:ZN6ma7nV0.net
どういうエラー?
普通に出来たけども

606 :名称未設定:2015/01/19(月) 23:02:00.66 ID:pr7GXL7Z0.net
関数の中に書くのは大丈夫だけどクラスの直下に書くとdose not have a member namedってエラーがでる…

もしかしてこんなとこに書いたらダメなのか???

607 :名称未設定:2015/01/20(火) 02:22:30.91 ID:D4eBBNhZ0.net
こういうことか?
class A {
let a = [1,2,3]
let b = [4,5,6]
let c = [a,b] // error: 'A.Type' does not have a member named 'a'
}

だとしたら、普通にこれでいいやんという気がするが…
class A {
let a = [1,2,3]
let b = [4,5,6]
let c: [[Int]]
init() {
c = [a, b]
}
}

608 :名称未設定:2015/01/20(火) 08:49:08.84 ID:sHAb7P7C0.net
ひでえコードだな

609 :名称未設定:2015/01/23(金) 12:22:56.64 ID:oNjyujiu0.net
デベロッパープログラム値上げされたぞww
11,800円になってる

610 :名称未設定:2015/01/23(金) 19:14:05.88 ID:h9YFTwRi0.net
まあ円レート通りだな

611 :名称未設定:2015/01/24(土) 01:21:24.66 ID:8HpXrTiw0.net
アベノミクス

612 :名称未設定:2015/01/24(土) 02:10:03.13 ID:aSu/tSCh0.net
アホノミクス

613 :名称未設定:2015/01/24(土) 09:26:33.75 ID:U8APQblH0.net
これは
Macの値上げもくるな

614 :名称未設定:2015/01/25(日) 02:49:29.86 ID:UCji5rAJ0.net
iPhoneが15万になったらかな苦しくなるな

615 :名称未設定:2015/01/25(日) 13:35:51.67 ID:7EaTzocp0.net
1万2千円弱でもMSと比べたらタダみたいなもんだろ

616 :名称未設定:2015/01/25(日) 14:01:26.64 ID:9n2WnBJU0.net
MSは19ドルで更新無料じゃなかった?
まさかMSDNの値段のこと言ってるの?

617 :名称未設定:2015/01/25(日) 16:13:21.77 ID:7EaTzocp0.net
MSDNに決まってるだろ

618 :名称未設定:2015/01/25(日) 16:50:26.25 ID:0WkDSBgM0.net
MSDN買わなくたってアプリ登録できるのに

619 :名称未設定:2015/01/26(月) 00:52:09.58 ID:VyPrf84r0.net
商用で開発するとなるとMSDNに入らないとダメだろ。昔のADPも高かったが
その代わり開発機材を半額で購入出来るメリットがあった。最初の頃は購入機材も
無制限だった。

620 :名称未設定:2015/01/26(月) 08:23:07.66 ID:j8UqybXu0.net
言い訳はいいから

621 :名称未設定:2015/01/27(火) 05:20:08.82 ID:ckxUTOX70.net
儲かりまくってんだから開発者の負担減らしてくれや

622 :名称未設定:2015/01/29(木) 03:56:53.07 ID:pRhwMSmj0.net
スイフトはコンパイルが遅い!

623 :名称未設定:2015/01/29(木) 08:08:53.16 ID:zKtOCuQv0.net
コンパイル遅いわ
バイナリ巨大だわ
コード補完動かないわ
カラーリングうまくいかないわ
リフラクター動かないわ
caller/calleeの参照できないわ
仕様が頻繁に変わってビルドできないわ

624 :名称未設定:2015/01/29(木) 18:32:58.90 ID:8dm0mUPk0.net
iTunes Uにスタンフォードの「Developing iOS 8 Apps with Swift」きたで

https://itunes.apple.com/jp/course/developing-ios-8-apps-swift/id961180099

625 :名称未設定:2015/02/01(日) 03:13:32.70 ID:hU3ATMp80.net
nil許さない言語仕様て意味あるの!,?が邪魔だし、三項演算子と同じで見た目奇麗なんだけど
可読性という意味で決してよくない。
→objcでよくね。
Xcode確かに酷いな、まだプロジェクトで採用する気になれん。

626 :名称未設定:2015/02/01(日) 05:10:34.00 ID:fB1F7Q950.net
ぱっと見で非Optionalであればnilではないのでnilチェックを意識しなくても済むっていう可読性の良さはなきにしもあらず

どうやら、いつでもnilを意識するという癖が無いプログラマが一定数いるみたい
ここはnilでも大丈夫だからnilチェック省略はもちろんnilを意識してることで、その緩さがいいのになあ。どこかのプログだったかでこれがObjective-Cの悪癖だってw

627 :名称未設定:2015/02/01(日) 09:40:11.06 ID:nQJdd3d00.net
いやobjcと無理ヤリ互換性を維持するためのしょうもない言語仕様にしか見えないのだが。

628 :名称未設定:2015/02/01(日) 10:13:12.55 ID:zARynkJK0.net
俺の感覚だと、ObjCの動的型は"緩さ"だけど nil は"妥協"
値自体と値の存在性は直行する概念であって、Optional型がある世界の方がそもそもあるべき自然な姿だった

629 :名称未設定:2015/02/01(日) 10:52:20.73 ID:7EcOvUPB0.net
Smalltalk的には「nilもまたオブジェクト」でしょ
CocoaではNSNullなんてものが別にあるけど、これこそ妥協

630 :名称未設定:2015/02/01(日) 12:30:02.97 ID:5eOmp0iD0.net
smalltalkのnilにあたるのはNSNullでobjcのnilが妥協

631 :名称未設定:2015/02/01(日) 12:46:23.09 ID:ID6TJWwF0.net
>>630
まあそうだよな。
ObjCのnilは単なる定数0で、真偽判定あたりでCの仕様を引きずってるからメインで使われてただけで。

632 :名称未設定:2015/02/01(日) 14:17:34.77 ID:fB1F7Q950.net
nilで落ちない(NOP扱い)のがミソなんだけどだけど。妥協って意味わからんな

633 :名称未設定:2015/02/01(日) 14:28:24.43 ID:fB1F7Q950.net
ああ、nil撤廃(?)してNSNullにしての、NSNullはすべてのセレクタを受け取り、nilと同じ動作すれば、「nilをオブジェクト」としてなのにってか。>>628の妥協もそういう意味なのかわからんが

あんま実質的な話じゃないなwまあ、NSNullだったらコレクションに入れられませんってのが無いのにってくらいか

634 :名称未設定:2015/02/01(日) 14:55:09.58 ID:56ExUfKe0.net
nil 撤廃するのにコンテナに NSNull 入れられるままだと
値のないキーで objectForKey: したとき何を返すのかが疑問

635 :名称未設定:2015/02/01(日) 15:10:26.20 ID:fB1F7Q950.net
ああ、なるほどねっ!そいえばそだな
nil入れてー、めんどくせーが頭に強く残って、そっちのは当たり前の無意識下ですっぽり抜け落ちてた

636 :名称未設定:2015/02/02(月) 04:51:46.36 ID:0AQrlJwi0.net
ObjCは技術的負債

637 :名称未設定:2015/02/02(月) 04:54:42.37 ID:D+xQRbhw0.net
技術的夫妻

638 :名称未設定:2015/02/02(月) 07:23:44.52 ID:busullEF0.net
面白いと思っているのかね…

639 :名称未設定:2015/02/02(月) 07:33:17.24 ID:B+Lg3/3j0.net
swiftもおぼえて、ObjCも結局理解しないといけないという罠にはまってない?

640 :名称未設定:2015/02/02(月) 10:02:48.40 ID:ZIMF1l1K0.net
今は過渡期だからObjCも理解しないといけないのはしゃーなし
5年もしたらObjCの話題出しただけで老害扱いされることだろう

641 :名称未設定:2015/02/02(月) 10:09:52.86 ID:83sAzeM70.net
一度普及したのはなかなか廃れないってのがあるんだがな
まあ、主流がどれかどちらかにはなっているのかは未知数だが、Objective-CにせよSwiftにせよ他の言語にせよ、なんで敵視するのかわからんな。適応できないからとか?w

周りではC(だけ)をやっているのはほぼ見ないが、今Cの話題出したら老害なのか?ふーんw

642 :名称未設定:2015/02/02(月) 16:24:57.04 ID:l/ghb/Tr0.net
libxml とか sqlite とか opengl とか zlib とか使いたくなることもあるからね
誰かが書いてくれるラッパを使うって手もあるけど

643 :名称未設定:2015/02/02(月) 20:03:40.22 ID:LyCSlLbs0.net
ビックリマークとクエスチョンマークを書きまくるのがスイフトの特徴

644 :名称未設定:2015/02/02(月) 23:36:21.43 ID:fockMdBz0.net
+autolayout言語とSQLもあるからな。

645 :名称未設定:2015/02/06(金) 12:31:57.27 ID:8xiUl6Iw0.net
緑ボタンでフルスクリーンになるのを最大化に変更する
http://anago.2ch.net/test/read.cgi/mac/1422619580/150-

646 :名称未設定:2015/02/07(土) 15:40:53.08 ID:loZToZC80.net
UXKitはSwift実装ではないの?

647 :名称未設定:2015/02/07(土) 16:19:35.01 ID:dxUjxynB0.net
Objective-C without the C

648 :名称未設定:2015/02/07(土) 18:12:43.30 ID:lXYpQRkj0.net
Objective-CはObjectiveからCを引いたものだからObjective-C without the CはObjectiveから何も足さない何も引かないサントリー山崎

649 :名称未設定:2015/02/07(土) 18:20:48.46 ID:xu6P/gCx0.net
最後笑ってしまったバカヤローコノヤロー

650 :名称未設定:2015/02/07(土) 18:21:21.37 ID:8yMw18p+0.net
Objective-CのObjectiveの部分は要するにsmalltalkというヤツだったらしいのだが
Objective-Cの方法論が気に入った我々としては
>Objective-C without the C
で出てくるものは当然
『smalltalk with modern language』かと思ったら
なんかObjective-Cでもsmalltalkでもないただの新言語が出てきて困惑。

651 :名称未設定:2015/02/09(月) 09:45:11.38 ID:7c710IQm0.net
言語と言ってもスクリプト言語だろ

652 :名称未設定:2015/02/10(火) 00:04:14.52 ID:YvPCVweP0.net
これなんなの?
http://elementscompiler.com/elements/silver/

653 :名称未設定:2015/02/10(火) 04:16:14.92 ID:D2lEHJ6y0.net
1.2でました
https://developer.apple.com/swift/blog/?id=22

654 :名称未設定:2015/02/10(火) 10:10:23.46 ID:jAs/krrz0.net
let で宣言だけ先にできるようになるのはありがたい

655 :名称未設定:2015/02/10(火) 10:22:39.15 ID:jAs/krrz0.net
変更点結構多いなぁ
覚悟の上だろうけど書籍出してる人ら涙目だろ

656 :名称未設定:2015/02/10(火) 10:37:18.67 ID:ZmlHq9sj0.net
改訂版でまた儲けるだろw

657 :名称未設定:2015/02/10(火) 11:03:47.12 ID:Y5ZZe/Ok0.net
出版社が涙目

658 :名称未設定:2015/02/10(火) 11:39:18.32 ID:q+aVJuU60.net
Obj-Cの萩原本も全バージョン持ってるわ

659 :名称未設定:2015/02/10(火) 18:18:35.89 ID:VfNH9X/70.net
なあ……しれっとObjective-Cのほうにnullにならないポインタを表現するなんかが加わったって書いてないか

660 :名称未設定:2015/02/10(火) 18:26:56.17 ID:3jN68bPg0.net
うん。単なる表記だけなのか、コンパイラでWarningなり出すのかErrorにするのかわからんけど
Swiftのような実行時のOptional/非Optionalのような動作にはどうだろうな
表記だけなら好ましい。引数がnilを許容するのかしないのかわかるので

SwiftではNSStringからStringへの暗黙的変換はしなくなったのね。StringからNSStringへはするみたいだけど。なんだろ?

661 :名称未設定:2015/02/10(火) 22:14:05.45 ID:HcjodI7L0.net
Xcode 6.3 beta, including iOS 8.3 SDK with Swift 1.2
https://developer.apple.com/xcode/downloads/

662 :名称未設定:2015/02/10(火) 23:04:52.09 ID:oedAzMA40.net
まーべ まーべ ああ おれのMavericksは 対象外

663 :名称未設定:2015/02/11(水) 03:02:57.04 ID:gWgr3cpe0.net
Swift, true to its name, is moving fast. とか言ってる人がいるけど、
そんなに改善点・変更点多いの?

664 :名称未設定:2015/02/11(水) 23:10:34.94 ID:vG4wVLT50.net
ベータが複数並行して走るとか初じゃね

665 :名称未設定:2015/02/12(木) 00:20:41.15 ID:/1MU2/Bl0.net
Mac版とiOS版の並行は今まであったけど。

666 :名称未設定:2015/02/12(木) 14:17:40.56 ID:kGExNDqy0.net
1.2きたな

667 :名称未設定:2015/02/12(木) 16:40:12.96 ID:vlwBgZ6O0.net
俺はMacは当分Objective-C/C++で行く。
WinではいまだにMFCだし。
新言語なんて3時間もあれば使える。(豪語)

668 :名称未設定:2015/02/12(木) 19:15:00.05 ID:NEvw55+B0.net
Xcode6.3サクサク動くから使いたいんだけど、やっぱりSwift1.2で作ったらiOS8.2以前には対応できないんでしょうか?
以前のiOSに対応させる方法はありませんか?

669 :名称未設定:2015/02/12(木) 19:51:14.45 ID:oPsy5Y9p0.net
countElement が count になったんだな

670 :名称未設定:2015/02/13(金) 21:05:58.67 ID:TBU3Ntwj0.net
まさに飛ぶ鳥を落とす勢いで発展していくSwiftだが、Swiftにとってそれは自滅を意味する。

671 :名称未設定:2015/02/14(土) 15:29:06.16 ID:0/oO10/p0.net
Swiftなんて使ってるやつ、ただの暇人だろ
プロはObjective-C

672 :名称未設定:2015/02/14(土) 16:11:00.46 ID:9Z7TOA780.net
>>671
よう暇人

673 :名称未設定:2015/02/15(日) 00:56:22.90 ID:oOV1QOQ80.net
Swift1.2で作ってもiOS8.0対応できるじゃん!
バイナリにするから元の言語仕様は関係無いんだね。
やる気出てきたー!

674 :名称未設定:2015/02/15(日) 03:09:53.64 ID:xUfPyZQ/0.net
死ぬほど遅いビルド時間がobcより短くなったら即Swift使います。
ただし簡単なアプリ限定で。
コード補完も恐ろしく遅い。
1.2に期待。

675 :名称未設定:2015/02/15(日) 13:05:20.04 ID:iiwm6AnM0.net
>>674
コード補完させようとしたら source kit が落ちる問題もな
1.2 betaは当然まだ使えん

676 :名称未設定:2015/02/16(月) 01:51:35.14 ID:/WJzoqS40.net
Swiftで書いたプログラムをbreakpointで止めると関数内の変数の値が見れないけど仕様?
それとも設定かなにかある?
クラスのメンバ変数は見れるけど

677 :名称未設定:2015/02/16(月) 02:37:28.55 ID:4IFZNCUD0.net
いや見れるっしょ

678 :名称未設定:2015/02/16(月) 07:32:49.97 ID:AeBc2uOn0.net
乗せられてスイフト勉強しちゃったけど、実戦投入できる完成度になるまでは、まだ1年くらいかかりそう

679 :名称未設定:2015/02/16(月) 11:31:42.92 ID:ZckOaPg+0.net
いや実戦投入いけるっしょ

680 :名称未設定:2015/02/16(月) 19:19:54.42 ID:pNmlYkO90.net
みんな白兵戦で頑張ってるよ

681 :名称未設定:2015/02/16(月) 23:07:53.71 ID:jhVpcXeJ0.net
>>678が使いこなすのに1年かかるってことじゃない?

682 :名称未設定:2015/02/16(月) 23:47:58.69 ID:VE6xrSIP0.net
そうだよ

683 :名称未設定:2015/02/17(火) 01:19:59.78 ID:IU+yhJvj0.net
自分にはビルドの速度が致命傷です

684 :名称未設定:2015/02/17(火) 01:49:44.46 ID:suSTFd2/0.net
xcodeの壊れっぷりがまだまだ実戦向きじゃない。

685 :名称未設定:2015/02/24(火) 01:08:38.97 ID:ilL6KOoA0.net
>>684
それ待ってたら一生実戦できんやんw

686 :名称未設定:2015/02/24(火) 02:03:06.19 ID:PiX1ZRhx0.net
俺たちのベータテストはこれからだ!

687 :名称未設定:2015/02/24(火) 12:20:54.49 ID:qvfB1rJh0.net
セミコロン打ちて〜

688 :名称未設定:2015/02/24(火) 12:59:20.09 ID:a9aElys90.net
打ってもええんやで。打たないけど
行き来するとセミコロン打ってしまうよなw

689 :名称未設定:2015/02/24(火) 19:17:11.26 ID:XpRXKysE0.net
恋コロン 髪にもコロン セミコロン

690 :名称未設定:2015/02/24(火) 23:28:01.81 ID:RFHJqt3w0.net
古っ!

691 :名称未設定:2015/02/25(水) 13:38:48.84 ID:SydbQ5cR0.net
一生安定性が向上しないってことは、半年くらいの寿命ってことかな

692 :名称未設定:2015/02/25(水) 22:38:15.97 ID:6o5G86gL0.net
ごめんやっぱSwift辞めるわwww
Obj-C 3.0用意したからこっち推しねwww

って言い出しそうな気もしてる

693 :名称未設定:2015/02/26(木) 05:51:34.35 ID:nc/N6U9c0.net
>>692
ないない。
むしろobj-c切り捨て。
もっと構造が視覚的に見える言語になる。

694 :名称未設定:2015/02/26(木) 07:15:12.99 ID:ehSZF0CI0.net
>>691
これだけの期間でそこそこ使われるようになった言語って今までないんだが。

695 :名称未設定:2015/02/26(木) 09:27:32.24 ID:5KB5TMJf0.net
せっかくだから俺はSwiftを選ぶぜ

696 :名称未設定:2015/02/26(木) 09:49:53.15 ID:55oCpqbK0.net
obj-cを切り捨てたらこれまでの膨大なコード資産が無になるよね。切り捨てられるとしたら何年後だろうね。コーバータとか用意してくれるのかな。
今年のWWDCでの動きを静観しよう。

697 :名称未設定:2015/02/26(木) 14:59:01.68 ID:nc/N6U9c0.net
初心者質問。
class外で書いたグローバルなプロパティって初期化して起動しても覚えてるんだけど、特にリリースとかしなくてもいいのかな?
アプリの設定とかに使うと覚えててくれて便利なんだけど何で消えてないのか分からないから、もっと本格的に使いたいけど何かこわい。
どういう領域に記憶されてるんですかこれ?

698 :名称未設定:2015/02/26(木) 21:50:46.90 ID:Tvzi6vUT0.net
現時点でスイフト使ってる人は、
簡単な小さなアプリつくってる初心者か、
遅いビルドの忍耐が大好きなマニアか、
将来スイフトが主流になった時の為に予習してるか
どれか。

699 :名称未設定:2015/02/26(木) 22:33:29.88 ID:HySKqxhL0.net
というかobjcのソースもswift上で動かせるじゃん。
どっちも使えるようになればいいのに。

700 :名称未設定:2015/02/27(金) 00:02:23.85 ID:gz6ioi2i0.net
var ret = -100.0 + (2.0 * 1.3) + (3.0 * 4.0) + (0.2 * 2.0 * 2.0) + 0.1 * 2.0 * 3.0

え…これで落ちるんwwwwwwwww
ありえんだろ

701 :名称未設定:2015/02/27(金) 02:37:34.94 ID:fo8akdTD0.net
>>698
ビルド遅いの?

702 :名称未設定:2015/02/27(金) 12:12:53.20 ID:aZBEVcVH0.net
https://speakerdeck.com/tokorom/chang-sheng-kisurutamenixin-zang-nie-iririsuhamouyameyou

これほどじゃなくても、そこそこのアプリだと体感的には3倍くらい

703 :名称未設定:2015/02/27(金) 22:53:30.43 ID:BXG2QYKb0.net
数ヶ月swiftのプロジェクトいたけど、ひどかった。多少可読性高いだけじゃん
obj-cでよくね。リファクタリングが無効なのもいただけない。xcode6.3で改善してるのか?

704 :名称未設定:2015/02/28(土) 11:48:21.43 ID:pyCfDk5O0.net
>>703
細かいとこはまあいいにしてもリファクタリングが使えないのは痛いな
早く対応してくれよー

705 :名称未設定:2015/03/03(火) 17:21:07.44 ID:sQ/mRPfF0.net
可読性高いと上流の人は楽だから評判良いな、下は辛いけど
ビルド速度やコード補完、リファクタリングも上は関係ないし(工数はアウトオブ眼中

706 :名称未設定:2015/03/04(水) 15:04:54.30 ID:7a7xhrf60.net
正直コード補完嫌い

707 :名称未設定:2015/03/04(水) 22:23:59.18 ID:Nni+wYwr0.net
メソッド名の補完は要るけど括弧閉じとかはいらね
if分とかもスペース入れる箇所が気にくわね

708 :名称未設定:2015/03/04(水) 23:45:25.85 ID:I6XrnB0G0.net
そのぐらい自分好みにできるんじゃないの

709 :名称未設定:2015/03/05(木) 10:19:05.33 ID:esISOF/f0.net
Xcodeって調整できる程に賢いんだっけ
豪に入って豪に倣えのスタンスで諦めてるわ

710 :名称未設定:2015/03/05(木) 12:40:06.67 ID:wVmU5EQt0.net
括弧閉じとそのインデントはPreferencesのText Editingでオフに出来る。
if分とかは自分好みのをCode Snippetに登録してる。

711 :名称未設定:2015/03/05(木) 16:24:00.77 ID:t0w0ZiBy0.net
賢くないのが他を賢いかどうか論ずるなんて… まあ、2chではよく見る光景だがw

712 :名称未設定:2015/03/05(木) 17:54:11.24 ID:LMVau1vt0.net
EclipseやIntelliJに比べてどうだろうね
AppCodeが使われるのも分からいでもない

Appleは信者が多いので否定意見は2ch内でも少ないよな

713 :名称未設定:2015/03/05(木) 18:06:53.20 ID:p55fB0IR0.net
宗教は盲目になるのが特徴。
モチベーションの為に好きになるのはいいけど、プログラマだったら同時に別の目で見つめることもできた方がいいかもね

714 :名称未設定:2015/03/05(木) 18:18:24.64 ID:t0w0ZiBy0.net
否定しても何も変わらないんだから意味ないだろ。意味ないことを排除するのが開発者だろw
EclipseやIntelliJが絶対にいいのだったらそっちを使えばいいだけの話だろ(開発できんの?)
AppCodeだってそっちが絶対だったらそっちを使えばいいだけの話

否定だけで自分で調べようとか工夫しようとか何かしようとしないなんて、ほんとに開発者なんかいな
短絡的に「信者」と言うのも短絡てすぎて、普段どういう思考で開発しているのか心配になるな

715 :名称未設定:2015/03/05(木) 18:52:10.73 ID:RmnjUE0X0.net
とりあえずなんでも「Appleは宗教」と言いだす人の頭の悪さには辟易するなw
いま思考停止しましたボク!って周りに宣言してみせてるだけじゃんwっていう。

716 :名称未設定:2015/03/05(木) 18:58:38.63 ID:5hXIrfiL0.net
今日も元気で何よりです:-)

717 :名称未設定:2015/03/05(木) 19:14:11.59 ID:Ul+A7PQB0.net
>>714
AppCodeはIntelliJベースでswiftをサポートしたんやで
Xcodeをちょっとけなされたからって他の選択肢を知らない(調べない)のは...

718 :名称未設定:2015/03/05(木) 19:37:07.15 ID:t0w0ZiBy0.net
>>717
なるほど。どうも
特にXcodeでSwiftに「強い不満」も「なにも支障も無い」ので必要ないから調べる必要性もつもりもないからええんやw ちょーっと違う

(けなすw EclipseとIntelliJは他の開発で使ってるけどね。特にどれがどうこうとは思わないな。頭のスイッチにちょっと手間取るだけで。それこそ豪に入って豪に倣えw)

719 :名称未設定:2015/03/05(木) 21:42:10.92 ID:roEPA32Y0.net
これくらい何も考えず使えたら幸せだなぁ

720 :名称未設定:2015/03/05(木) 23:38:12.78 ID:t0w0ZiBy0.net
うらやましかったらw、訓練すればあなたもそうできるようになるよ
訓練というか単に馴染むちょっとした努力(?)するだけだけど

721 :名称未設定:2015/03/06(金) 00:25:04.60 ID:XSSSBOY80.net
欠点の情報共有にも、価値はあると思う。

722 :名称未設定:2015/03/06(金) 23:46:42.09 ID:NE2l1c7D0.net
xcodeいまベータ版だらけで困る。
ウォッチキットいらんから正規のアップデートして欲しい。

723 :名称未設定:2015/03/07(土) 02:19:11.17 ID:8Amd2kL30.net
アプリサイズでかくてアップデートに時間かかるの何とかして欲しい

724 :名称未設定:2015/03/07(土) 02:44:43.99 ID:iR0BalLu0.net
だれもが通る道

725 :名称未設定:2015/03/07(土) 10:17:57.12 ID:FOP5YwBT0.net
YouTubeで一通り見たけど、これスクリプトとオブジェクト
足しただけだねぇ
まぁ、Ob-cよりましだな

726 :名称未設定:2015/03/07(土) 18:26:33.23 ID:lJHe6ALT0.net
98%は仕様を見た時にお〜と思うけど実際に自分にメリットがあるかどうか不明
2%は確実に自分にメリットがあるとわかる
こんな感じ。

727 :名称未設定:2015/03/07(土) 19:51:11.50 ID:g5kzvWuO0.net
ふわっと勉強してもなんとなく動く
キディがJavaScriptを書きながら「俺、Javaできるぜー」って言って
本物のJavaに直面して「俺の知ってるJavaと違う」って思う感じ

ガチでやろうとすると(今の段階では)objcのがリファレンスが安定してる
そんな感じかな。swift用に命名規則を作らないといけいない気がする

728 :名称未設定:2015/03/08(日) 20:44:54.91 ID:ENXAB+2h0.net
保守派多いな。
俺はswiftの方が読み書きが楽だからswiftでいいや。
それよりも別ファイルでIN/OUTを繋ぐ設計図的なものが欲しい。
他人のアプリ直す時コードだけだと動き把握するだけで頭爆発しそうになる。
IB使うと重いのも何とかして欲しい。
バイナリにしたら同じってことには出来ないのかな?

729 :名称未設定:2015/03/09(月) 09:21:35.70 ID:67dyZoqF0.net
swiftやったあとにobj-cやったら
Cocoaと相性いいわ、ビルド速度早いわ、プリミティブ型とそれに準ずる型が少ないわ
obj-cのあまりの便利さに鼻血が出そうになってプライベートは戻ってしまった
今さら業務の方は戻せないから swift やってるけど率先して推すものじゃない

730 :名称未設定:2015/03/09(月) 12:03:44.49 ID:djqzELJy0.net
>>729
cocoaもswiftで書けるのに?
相性って言うの気になるから時間あったら教えてほしい。

731 :名称未設定:2015/03/09(月) 13:21:25.64 ID:n4rzqhzh0.net
2chが誇るSwiftのプロ達がまさかり担いで待機しております
さぁ、あなたもSwiftをディスってレス乞食しよう!

732 :名称未設定:2015/03/09(月) 16:00:05.75 ID:k0ALkJVX0.net
delegateで多用されてる関数名の前にキーワード置く書き方は
swiftよりobj-cの方がスマートに見えるな
swiftで書いたら何コレな感じ

733 :名称未設定:2015/03/09(月) 16:05:08.49 ID:wg2m7xTY0.net
>>731
保守派の方が多いからまさかりじゃなくチェーンソーくらい持ってこい

734 :名称未設定:2015/03/09(月) 21:30:19.07 ID:Qmo4bpr80.net
そんな神をバラバラにするような凶器持ってくるなよ

735 :名称未設定:2015/03/09(月) 21:45:20.84 ID:swJR0lJQ0.net
90年代にC++一辺倒ではなくObjective-Cが同時期にライバルとして広まってたら
JavaとSwiftがライバルとして10年ぐらい前に闘ってたのかなぁ…(ポワワ

736 :名称未設定:2015/03/09(月) 22:05:26.38 ID:BJ/q/EWF0.net
マジレスすると Run Anywhere が出来ないので勝負にならん
元より土台が違う

737 :名称未設定:2015/03/10(火) 06:35:35.42 ID:cl2TL5VK0.net
Swift の REPL のパスをメモ
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift

738 :名称未設定:2015/03/10(火) 10:30:12.39 ID:7/ZJQfU+0.net
$ which swift
/usr/bin/swift

739 :名称未設定:2015/03/10(火) 10:51:51.76 ID:TnkYBGWm0.net
コナン君の出番だな

740 :名称未設定:2015/03/10(火) 12:36:50.97 ID:uB3QylDb0.net
% xcrun -find swift
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift

741 :名称未設定:2015/03/10(火) 16:23:03.83 ID:votYSwmN0.net
それ何に使うやつ?

742 :名称未設定:2015/03/11(水) 01:04:10.30 ID:q4FQQaAr0.net
6.2で安定性は良くなったのか、、、ビルド時間は早くなったのか

743 :名称未設定:2015/03/13(金) 17:26:47.96 ID:FYORiJwO0.net
すいません、何かヒントを下さい。

AudioQueueGetProperty を呼びだそうとすると、コンパイルエラーになります。

エラーメッセージ:
Cannot invoke 'init' with an argument list of type '(AudioQueueRef, $T3, $T7, $T11)'

コード:
var levelMeter = AudioQueueLevelMeterState(mAveragePower: 0, mPeakPower: 0)

let levelMeterSize = UInt32(sizeof(AudioQueueLevelMeterState))
if let q = self.queue{ // AudioQueueRef が入っている
AudioQueueGetProperty(
q,
UInt32(kAudioQueueProperty_CurrentLevelMeterDB),
UnsafeMutablePointer(levelMeter ),
UnsafeMutablePointer(levelMeterSize))
}
println("levelMeter = \(levelMeter.mPeakPower)")

2番めの引数が怪しいと思っているのですが(Objective-Cのenum周り?)、
どうしてもわかりません。何かヒントをいただけるとありがたいです。

744 :名称未設定:2015/03/13(金) 19:21:46.12 ID:sPnacjXt0.net
>>743
let levelMeterSize
だから、Unsafe[Mutable]Pointerにはならないんじゃね。また、levelMeterは構造体渡しじゃなくて構造体のポインタでなきゃじゃね

var levelMeterSize = UInt32(sizeof(AudioQueueLevelMeterState))
if let q = self.queue{ // AudioQueueRef が入っている
AudioQueueGetProperty(
q,
AudioQueuePropertyID(kAudioQueueProperty_CurrentLevelMeterDB),
&levelMeter,
&levelMeterSize)
}

かな

745 :名称未設定:2015/03/13(金) 19:50:00.52 ID:72sdC8Gr0.net
ありがとうございます!
コンパイル通りました!

746 :名称未設定:2015/03/13(金) 19:51:30.45 ID:72sdC8Gr0.net
var と let の違いを UnsafeMutablePointer は見てるんですね・・。
勉強になりました。

747 :名称未設定:2015/03/13(金) 19:51:32.20 ID:72sdC8Gr0.net
var と let の違いを UnsafeMutablePointer は見てるんですね・・。
勉強になりました。

748 :名称未設定:2015/03/13(金) 21:34:12.20 ID:72sdC8Gr0.net
とゆーか、 UnsafeMutablePointer でポインタを作って渡してくれると思っていたんですが、これは違うんですかね。
リファレンスには UnsafeMutablePointer<Void> ってかいてあったので、それっぽく試行錯誤していたんですが・・。

749 :名称未設定:2015/03/13(金) 21:52:01.92 ID:sPnacjXt0.net
Cでいうと、
const int levelMeter = ...;

const int *levelMeterPointer = &levelMeter;
はいいが、
int *levelMeterPointer = &levelMeter;
は、ダメな感じw (テキトーに書いてるから間違っているかもしれない)

AudioQueueGetPropertyで、levelMeterSizeの値が変わる(可能性がある)ので、letじゃダメじゃんvarだろっていう。エラーメッセージがわかりにくだけだな

750 :名称未設定:2015/03/13(金) 21:58:03.83 ID:sPnacjXt0.net
UnsafePointerとUnsafeMutablePointerとの違いを理解しよう
Cわからなくてletとvarの関係/違いに近いかな
でもやっぱり、OS X/iOS共にCoreがCなのでCを理解しなくてもいいなんてなさげね

751 :名称未設定:2015/03/13(金) 22:08:16.95 ID:72sdC8Gr0.net
ありがとうございます。
Mutable が付いているのは、変更可能という意味ですよね。
let は Mutable のポインタに出来ないというのは初めて知りました。
let も変更不可ですけど、そことここが連動しているとまでは思っていませんでした。

752 :名称未設定:2015/03/13(金) 22:31:04.76 ID:72sdC8Gr0.net
UnsafePointer の使い方も何か大幅に間違っていたようでした。
これはポインタを作るためのものではなくてポインタ型の定義に使って、実際のポインタは & などで生成するのですね。。
Using Swift with Cocoa and Objective-C のポインタの章を読み直して来ます。

753 :名称未設定:2015/03/14(土) 23:15:05.77 ID:F13sqbnw0.net
すいません、また聞かせてください。
NSTime.scheduledTimerWithTimeInterval で1秒ごとに下記のコードを呼び出しています。
マイクからのボリュームを測りたいのですが、printlnの出力はずっと "levelMeter = 0.0" のままです。
以前書いたObjective-C ではうまくいっていたのですが、なぜ Swift でうまくいかないのかわかりません。

Swiftコード(うまくいかない):
func updateVolume(timer: NSTimer){
var levelMeter = AudioQueueLevelMeterState(mAveragePower: 0.0, mPeakPower: 0.0)
var levelMeterSize = UInt32(sizeof(AudioQueueLevelMeterState))
if let q = self.queue{
AudioQueueGetProperty(
q,
AudioFormatID(kAudioQueueProperty_CurrentLevelMeterDB),
&levelMeter ,
&levelMeterSize )
println("levelMeter = \(levelMeter.mPeakPower)")
}
}

Objective-Cコード(うまくいっている):
- (void)updateVolume:(NSTimer *)timer {
AudioQueueLevelMeterState levelMeter;
UInt32 levelMeterSize = sizeof(AudioQueueLevelMeterState);
AudioQueueGetProperty(queue,kAudioQueueProperty_CurrentLevelMeterDB,&levelMeter,&levelMeterSize);
// Cordova だったので Javascript に送っています
[self writeJavascript:[NSString stringWithFormat:@"receiveVolumeLevel(%f)",levelMeter.mAveragePower]];
}

また何かヒントを頂けるでしょうか?
よろしくお願いします。

754 :名称未設定:2015/03/15(日) 00:46:19.36 ID:gLE+mjjf0.net
> println("levelMeter = \(levelMeter.mPeakPower)")
> [self writeJavascript:[NSString stringWithFormat:@"receiveVolumeLevel(%f)",levelMeter.mAveragePower]];

前者は levelMeter.mPeakPower を、後者は levelMeter.mAveragePower を測ってるのだが何故?

755 :名称未設定:2015/03/15(日) 01:22:19.70 ID:7jCV6PoJ0.net
>>753
AudioFormatID(…) でなくて、AudioQueuePropertyID(…)じゃないの?
それとも、どちらを使っても大丈夫なの?

756 :名称未設定:2015/03/15(日) 08:09:08.89 ID:yOMn1qAU0.net
>>754
これは試行錯誤する中で乖離してしまったみたいです。
どちらもボリュームの数値を取るのですが、基準が違います。
しかし直してみても動作は変わりませんでした。

>>755
間違っていました。直してみましたが、動作は変わりませんでした。


levelMeter のポインタをきちんと渡せているんだろうか・・?

757 :名称未設定:2015/03/15(日) 10:56:27.16 ID:yOMn1qAU0.net
そう言えば AudioQueueStart や、AudioQueueanewInputの返値を
捨ててしまって確認してなかったので、それ見てみます。

758 :名称未設定:2015/03/15(日) 13:17:30.48 ID:ljKptewv0.net
ハマった…
コンテナビューで分割表示してるビューがあるんですが、この子ビューのボタンイベントでコンテナを持ってる親ビューごと閉じたいときはどうしたらいいでしょうか?

759 :名称未設定:2015/03/16(月) 06:26:56.85 ID:vB29ydbE0.net
すいません、報告です。
AudioQueueGetProperty で値が取れない件について質問していたものです。
理由は単に AudioQueueSetProperty を事前に呼び出すのが漏れていたためでした。
アドバイスありがとうございました。

760 :名称未設定:2015/05/02(土) 19:45:05.53 ID:8rMQWpM70.net
消音カメラってどんなコマンドを使って作られてるのですか?

761 :名称未設定:2015/05/03(日) 01:39:20.63 ID:4VkrlE2C0.net
こいよベネット!銃なんか捨ててかかって来い!

762 :名称未設定:2015/05/03(日) 02:02:30.38 ID:2rHMl0RU0.net
ダメよ。今日は空手のお稽古があるの。

763 :名称未設定:2015/05/05(火) 04:58:56.08 ID:2MsaSDrg0.net
AVAudioPlayerで着信音の鳴る音量の設定とか出来ます?

764 :名称未設定:2015/05/13(水) 18:04:10.88 ID:+JzT9wj80.net
わかりません

765 :名称未設定:2015/06/02(火) 12:12:23.88 ID:lhK0HVW40.net
自分でカメラのバッファのデータを画像ファイルにエンコードして吐いてるんじゃないの?

766 :名称未設定:2015/06/06(土) 13:23:50.13 ID:qktaiX2U0.net
もずの開発って続くの?

767 :名称未設定:2015/06/06(土) 13:24:19.03 ID:qktaiX2U0.net
誤爆

768 :名称未設定:2015/06/10(水) 16:54:49.02 ID:lXzGEQF/0.net
オープンソース予定のswiftのコンパイラってswiftで出来てるよね?

769 :名称未設定:2015/06/10(水) 23:08:42.54 ID:tfp0btCz0.net
Cじゃないの?
想像だけど。

770 :名称未設定:2015/06/11(木) 05:32:41.20 ID:Na4mNtEm0.net
昨今、なでしこすら自身の言語でコンパイラ作ってるのに swiftってそんなにしょぼいの?

771 :名称未設定:2015/06/11(木) 05:58:14.94 ID:1OneD1naJ
LLVMを使うためにC++なんじゃないかな

772 :名称未設定:2015/06/11(木) 05:58:36.09 ID:vuwb0X7k0.net
LLVMを使うためにC++なんじゃないかな

773 :名称未設定:2015/06/12(金) 05:48:25.59 ID:fhQf7JcE0.net
swiftがオープンソース化しても、
linux環境化でGCC拡張をサポートしていないLLVMがlinuxで普及するか微妙。

上手くlinux環境でLLVMが普及したら
LLVMアセンブリ書いて、swiftいらね、あれ、、、

774 :名称未設定:2015/06/12(金) 11:17:26.32 ID:qq4B28mF0.net
イミフ

775 :名称未設定:2015/06/12(金) 11:24:23.35 ID:8VIpIe/F0.net
ああイミフなのは俺だけじゃなかったか、安心した

776 :名称未設定:2015/06/12(金) 16:02:18.93 ID:RGdJw/+70.net
一人の子供が王様を見て「イミフ」と言い出すと大人たちも次々と

777 :名称未設定:2015/06/12(金) 17:45:05.39 ID:EJojknsD0.net
大人で分別のある>>776が解説してくれるんですね、分かります

778 :名称未設定:2015/06/12(金) 19:29:52.18 ID:qq4B28mF0.net
いや、そういう意味じゃないんじゃないの。誰が子供やねんっw

779 :名称未設定:2015/06/17(水) 23:54:47.74 ID:UACzG7qC0.net
OSXのgccは標準が-std=gnu99状態だった気がするが
clangはそうでもないのけ

780 :名称未設定:2015/06/18(木) 18:43:54.79 ID:xQYPjKy20.net
swiftcにそんなオプションあるのかね

781 :名称未設定:2015/06/19(金) 03:27:58.94 ID:pjDJKqdA0.net
去年の9月に >>258 >>280 を書いたが、まずこのスレが先に進んでないことに驚いた
まあ2chなので少しでも荒れれば人は離れるから当然か


さて、去年秋に予想した通りSwiftはついにオープンソースになることが、この間のWWDC2015で発表された
まさか1年で発表するとは予想外でもう少し先だと思ったが、タイミング的にも遅過ぎると普及に絶対的に不利になるからこれもありなのだろう

上では、Swiftのオープンソース化として、次の3パターン、
>対応の形態として、
>AppleのWebKitのようにオープンソースにして丸ごとコミュニティに提供するのか、
>MSの.NETのように仕様だけを標準化して公開し実装はMonoのようにオープンソース含め各々に任せるのか、
>あるいはオラクルのJavaVMのようにランタイムの開発も含め完全に自社のコントロール下に置いてWindows版やLinux版を開発するのか
>についてはまだ見えてこない。
を予想したが、最後のパターンではないらしく、OSI準拠にしてオープンソース化し、コントリビューションを受け入れることをAppleが最初に言っている

ただ、完全に手放しだとむしろ自社製品の開発と整合性に苦しむことになりかねないので、
やはり2番目の.NETに似たやり方に近い方法で普及させていくのではないだろうか
もちろんソースコードごとコミュニティに公開するからそこはMonoのときより踏み込むだろうが、
常にブランチのメインストリームをAppleが(実デバイスに最も安定して乗せられるという意味で)コントロールし続ける形になるかも知れない


デバイスに普及している実用言語のうちでJavaやC#等との大きな違いの一つに、
ガーベジコレクションを使った共通VM上の中間言語ベースなのか、参照カウントを自動化(ARC)して埋め込みランタイムごとCPU別ネイティブにコンパイルするかの違いがあり、
これは川岸の向こうとこっちほど隔たりがある
Appleが小さな処理である参照カウントとその自動化を選択した決断が適切だったかがどうかは、今後明らかになっていくと思う


まずは今後が楽しみだ

782 :名称未設定:2015/06/19(金) 05:01:04.36 ID:KBaP2V2D0.net
なんかキモいw

783 :名称未設定:2015/06/19(金) 08:04:16.63 ID:Q3howQrY0.net
なんか所か確実にキモい
3行でまとめ直せ

784 :名称未設定:2015/06/19(金) 09:03:17.56 ID:OKFEESXm0.net
自分語りキターーーーーーーーーーー

785 :名称未設定:2015/06/19(金) 14:27:33.43 ID:HWfmCJ4o0.net
>>781
GC vs ARC
なら、ARCの勝ちだと思う。
GC使うアプリ(Androidアプリ)はバッテリーの持ちが悪い感じがするんだけど、
どうなんでしょう、エロい人?

786 :名称未設定:2015/06/19(金) 14:39:24.76 ID:L6crFzbo0.net
Apple Watch 1日もつ、Android Wear 機種によっては2日もつ
なんであんな低機能でバッテリー持ち悪いのか
どうなんで(ry

787 :名称未設定:2015/06/19(金) 14:58:51.03 ID:HWfmCJ4o0.net
>>786
その2日もつっていうのは、Tizen機だったりPebble機だったりしない?
Android端末と繋がる、wearable端末の中には、Android Wear機じゃないのも
まじってるよ。

788 :名称未設定:2015/06/19(金) 15:06:11.69 ID:71xlp9gv0.net
>>787
Motoはおk、LGはApple Watchとどっこいどっこい、Samsungは知らん
つーか、ランタイムのメモリ管理より、別の要因の方が大きいだろうよ

789 :名称未設定:2015/06/19(金) 15:30:08.48 ID:HWfmCJ4o0.net
>>788
ランタイムっていうか、VMが動くってのがAndroid機が
電力消費激しい原因じゃないのかなぁ。
アプリ毎にVMが動くという、幾つもVMが起動しているのが
Android OSって事なんじゃないすか?

だから、Android OSってのはメモリ大盛りな機種が多いし。

iOS6機なんて256MBで動いてる(iPod touch 4th)のがあるし、
Zenfone2なんかすごいメモリ搭載しないとダメなんでしょ?

790 :名称未設定:2015/06/19(金) 15:41:50.08 ID:HWfmCJ4o0.net
788です。
気になって、自分で調べてみました。
Dalvik VMの起動は1回だけだそうです。アプリ毎にVMが動くんですが、そのVMは
最初に起動したVMのコピーだそうです。コピーはforkシステムコールってので
作るそうです。

オブジェクトのクローンを作るのと似てるんだと思います。

アプリ毎にVMが動くんだけど、その起動はforkシステムコールだって事らしいです。

791 :名称未設定:2015/06/19(金) 23:40:02.26 ID:bPFMFZt10.net
>>789
iOSはiOSいくつで付いたんだったっけかなぁ…
もともとアプリがバックグランド動作をしないのが常識な造りなのを利用して
起動してるけど休眠してるアプリはiOSがcoredataのしくみ利用して
暇な時間に展開してるアプリを圧縮の上、フラッシュメモリに退避するしくみだから
起動すればしただけ実メモリ圧迫し続けるUNIX仕様のままの
Androidとはメモリの空き具合がそもそも違うつか…

792 :名称未設定:2015/06/20(土) 03:15:00.12 ID:u27EkuBX0.net
>>791
iOS 4でbock、iOS 5でARCとStoryboardが登場
んでARCはweak以外はiOS 4でも使えるようになってた
iOS 6でAuto Layout
ざっとそんな感じ

793 :名称未設定:2015/06/20(土) 03:15:58.86 ID:u27EkuBX0.net
あれ、スレ間違えたっぽい

794 :名称未設定:2015/06/22(月) 19:47:31.37 ID:AiMn/Qt60.net
アップルも主張を認めて無料期間分のライセンス料も払うみたいやね。

795 :名称未設定:2015/06/22(月) 20:15:40.10 ID:7Xgd0Ixz0.net
Swift違い

796 :名称未設定:2015/06/22(月) 21:51:02.29 ID:1fg6KRzP0.net
ボケなのかどうなのか判断つかずにスルーしてしまった
悔しい

797 :名称未設定:2015/06/23(火) 00:11:32.48 ID:JVRuEDAz0.net
一本取られたな

798 :名称未設定:2015/06/23(火) 12:49:29.99 ID:FwSg2ZVN0.net
カメリオで
「Swift(プログラミング言語)」選んで購読してると
毎回のようにこの女がトップ記事とか
もうやめて下さい

799 :名称未設定:2015/06/24(水) 19:44:59.92 ID:mNwK620o0.net
ブーストが一斉に停止して、直近にブーストしたアプリが上位にランクしっぱなし。。
まさに棚ボタか

800 :名称未設定:2015/06/25(木) 15:39:08.92 ID:qlBqBB+U0.net
フクイチの燃料の総量は

約3766トン

https://web.archive.org/web/20150216090935/http://nanohana.me/?p=3415

チェルノブイリで爆発した燃料の量は、推定たったの10トン前後。
これからフクイチではこの約3766トン全てが放出されるだろう。
ちなみに3号機の爆発した燃料だけでも、150トン。

使用済み燃料棒の一覧
号数 燃料の種類 使用済み燃料棒 未使用燃料棒 燃料棒合計 燃料総量予測)
1号機 ウラン   292本   100本   392本  約129t
2号機 ウラン   587本   28本     615本  約203t
3号機 MOX   514本   52本     566本  約186t
4号機 ウラン   1331本  204本    1535本  約507t
5号機 ウラン   946本   48本     994本  約328t
6号機 ウラン   876本   64本     940本  約310t
共用プールMOX有り6375本   不明    6375本  約2103t

801 :名称未設定:2015/06/27(土) 00:23:05.60 ID:+T+0WcVb0.net
>>789
VMのせいというかGCとARCの違いによる差だね
ハードスペックが同じなら、iOSが圧倒できるよね。

802 :名称未設定:2015/06/27(土) 07:33:31.42 ID:1MFpg6ZY0.net
何かGCに強い恨みがあるのかw
10年前と違ってGC要因のアプリバグは皆無だが、手酷いバグがあったの?

803 :名称未設定:2015/06/27(土) 08:32:36.78 ID:0N4nW8xj0.net
? GCは動的に「ガベージ」(ゴミ)になった部分を
探索し続けるプロセスが背後で走り続けるから
リソースやパワーが限定されるモバイルデバイスなどでは
その負荷が無視できないぐらい大きいよねという
ものすげぇあたりまえの話なだけだと思うが…?

804 :名称未設定:2015/06/27(土) 10:06:42.62 ID:/dkAVgtS0.net
1.3や1.4のJavaは辛かったな(それ以前は論外
最近のOracle Javaやdalvik, artはその程度の話は最適化されてるから心配しないけど

805 :名称未設定:2015/06/28(日) 00:28:49.28 ID:Ch8eMncC0.net
>>804
javaの言語仕様が変わりでもしない限り、
vmがいくら効率よくなっても、gcによるメモリの開放タイミングは変わらないでしょ。
,だから、メモリの大食いは改善されない。

806 :名称未設定:2015/06/28(日) 00:37:02.93 ID:EkArqxBl0.net
GCに親殺されたマン

807 :名称未設定:2015/06/28(日) 06:38:40.96 ID:mF7MO+370.net
解放タイミングは変わってるんだよなぁ
Ginger Breadでの仕様変更は煽りをくらった

808 :名称未設定:2015/06/28(日) 09:34:07.79 ID:fF6xvPFN0.net
ARCのメモリ解放タイミングって最適化されてる?
swiftランタイムがよしなにやってるなら幸いだけど、iOSに乗っかってるなら変わらんかね

809 :名称未設定:2015/06/28(日) 10:20:15.98 ID:Ch8eMncC0.net
ARCは参照カウント方式だから、どこからも使われなくなった瞬間に開放される。

810 :名称未設定:2015/06/28(日) 12:09:29.67 ID:eeP9GVCY0.net
CPU忙しくてもドーンと解放するバカっぷりなの?

811 :名称未設定:2015/06/28(日) 12:16:43.27 ID:GhXQR40w0.net
どっちのことを言っているのだかww

812 :名称未設定:2015/06/28(日) 22:17:58.43 ID:FBPAjRFG0.net
そう書けばそうなるな>CPU忙しくてもドーンと解放する

813 :名称未設定:2015/06/28(日) 22:29:12.06 ID:cMqXQi+c0.net
ARCは解放するのに特別なコストはかからないだろ

814 :名称未設定:2015/06/28(日) 22:32:52.72 ID:nCC7KEEN0.net
つまりプログラマーが意図したタイミングで解放される。

815 :名称未設定:2015/06/28(日) 23:16:19.53 ID:GhXQR40w0.net
それ大事

816 :名称未設定:2015/06/29(月) 08:59:28.41 ID:sGzukjrv0.net
メモリページングとかの話じゃね?

817 :名称未設定:2015/06/29(月) 09:36:09.49 ID:9ECKF6BM0.net
どゆこと?

818 :名称未設定:2015/06/29(月) 09:57:17.31 ID:Qf/ep4df0.net
>>808
メモリ解放のタイミングは
プログラマが決める。

ただし、コンパイラ付属のARCがメモリ解放命令を
ソースに挿入してくれるので、プログラマがメモリ解放
を意識する事は無い。

メモリの解放は、コンパイラ付属のARCにお任せってこと
になる。

819 :名称未設定:2015/06/30(火) 00:49:08.48 ID:uDc5M/Te0.net
obj-c のフレームワーク使ってると autorelease pool で管理されるものも多い

820 :名称未設定:2015/06/30(火) 09:10:39.64 ID:mI3hS93v0.net
>>792
iOS4でbockが登場ってことだけど、
bockって何?

821 :名称未設定:2015/06/30(火) 10:40:34.57 ID:o1qW3HCo0.net
blockの誤記じゃない?

822 :名称未設定:2015/06/30(火) 11:00:31.85 ID:mI3hS93v0.net
>>821
thx
検索するとこんなの出てきた。
If you're coming from a programming language such as Ruby, Python, or Lisp, then you know the power of blocks.

swiftでのclosureってことだね。Rubyでいうlamda式、procオブジェクトみたいな。

"what's new in ios"で検索するとappleのサイトにまとめてある
ios release noteがヒットする。

823 :名称未設定:2015/07/01(水) 02:47:27.23 ID:Rs4q6AfO0.net
>>810
なんかそもそも「参照カウント方式」自体を知らないみたいだけど大丈夫か…?
クラスを使う時に「いまおまえを使ってる」ってインスタンスの共有カウンタに+1
使い終わったら「使い終わったぞ」と-1
全員が使い終わったらカウンタが0になるから解放って単純システム
単純で速くて簡単だけど、プログラマがカウンタ操作を勘違いしてると
解放されない/解放されちゃうバグが発生することがある。
もともとObjective-Cの基本管理方式

んで、特殊なことやってるんじゃなきゃ使った/使い終わったは
機械的に判定できるので、そのカウンタ操作の部分のコードを
Xcodeの方に自動で任せる機能がARC(オートマチック・リファレンス・カウンティング)
これでプログラマが無自覚にバグを作り込むことなく
軽量高速な参照カウント方式を享受できるようになった。
実際、Objective-CでMac用にGCも選べるけどわざわざ選ぶ人がまずいない。

824 :名称未設定:2015/07/01(水) 04:14:19.84 ID:zDHAPfh40.net
確かOS XのGCは最近のOSだと切られてたと思う

825 :名称未設定:2015/07/01(水) 07:14:56.89 ID:6oeyhFi90.net
GCの最後の仕事は自分自身を消すことだったか

826 :名称未設定:2015/07/01(水) 08:48:20.65 ID:2ECdjcKl0.net
そして私も消えよう

827 :名称未設定:2015/07/01(水) 13:41:38.06 ID:bgJqOyEG0.net
>>823
その上でページングは?と聞いてるんだろう
長文で悪いが、ズレてんぞ

828 :名称未設定:2015/07/01(水) 14:53:56.65 ID:LI2M9JWB0.net
エクスデス先生がGCを勉強し始めたようです

829 :名称未設定:2015/07/01(水) 16:51:44.79 ID:pGP71s1U0.net
使ってないメモリを解放したところで、そのメモリの実体にアクセスするわけじゃないでしょ?

830 :名称未設定:2015/07/01(水) 17:35:24.75 ID:okKs+NA10.net
GCでもARC(カウント式)でもmalloc,freeでもランダムアセクスでメモリ確保したら解放後にデフラグの様な動作は必要
それがどのタイミングでやるかはOSまかせ、Mac,iOSが賢いかは知らん

831 :名称未設定:2015/07/01(水) 17:43:40.31 ID:0Dzrnazg0.net
起動中にコンパクションはしません。

832 :名称未設定:2015/07/01(水) 17:49:32.43 ID:NWyPT+ku0.net
本当にそうしたら基本性能が悪いか、段々と重くなるOSになるなww

833 :名称未設定:2015/07/01(水) 17:55:49.89 ID:Lu3NOcb/0.net
Windowsがまさにそれなんじゃない?

834 :名称未設定:2015/07/01(水) 17:57:24.68 ID:G0sC1s8M0.net
アプリケーションレイヤーから見たらという話だろうな
もう少し下の層から見たらやってるよ

835 :名称未設定:2015/07/01(水) 21:21:43.71 ID:SEh0DD0r0.net
>>833
面白い

836 :名称未設定:2015/07/01(水) 23:07:30.38 ID:Rs4q6AfO0.net
iOSはコアデータの仕組みつかって空き時間に
休眠アプリを圧縮してフラッシュに退避させることで
メモリを開ける動作がiOS5辺りからついてるし
アイドル時間に適宜やってんじゃないかな。

…っつーよりここまでiOSやMac知らない奴がなんでこのスレ迷い込んで来てんだ?

837 :名称未設定:2015/07/01(水) 23:15:27.41 ID:DmBgqj930.net
おまいらが言ってるのは CorrFoundation とかの Obj-C というか
CFType のオブジェクトのメモリ管理の話であって、
このスレ的にはそこは3行で済ませてSwift のネイティヴ型の
メモリ管理の話してもいいんじゃないの。

ヒープに取られることもあるのかとか参照カウントなのかとか。

838 :名称未設定:2015/07/01(水) 23:28:05.66 ID:0Dzrnazg0.net
>>836
それソースどこ?>休眠アプリを圧縮してフラッシュに退避

839 :名称未設定:2015/07/02(木) 00:54:33.61 ID:ef6YXqy90.net
>>837
SwiftもARC使ってるから無関係じゃないでしょ。
ARCの欠点はインスタンスの所有者を意識しないと循環参照しちゃうことだが、
メリットのほうがでかい気がするね。

rustのメモリ管理も面白そうなんで勉強したい。

840 :名称未設定:2015/07/02(木) 07:53:45.14 ID:ta6Waqsh0.net
>>836
論点ズラして批判はどうよw

841 :名称未設定:2015/07/03(金) 08:26:52.43 ID:1W7R06Tt0.net
開発環境をVisual Basic6(古い)からXcode6 + Swift1.2に移行中です。
ようやくdelegateパターンとかいうのに慣れてきました。
Windows Phone絡みでC# + dot Netframeworkにも興味あるんすけど、
dot Netframeworkでもdelegateパターンの多用が見られるんですか?

なおdelegateパターンとは、不完全なDecoratorパターンの事です。
(cf. Cocoa Fandamentals Guide, Design Patternの章)

おっと、スレちかも。

842 :名称未設定:2015/07/03(金) 11:26:50.26 ID:xmqC4rtj0.net
Swift時代でいまさらdelegateとか無いだろ。
これからはAPI全てクロージャーで書き直されるとだと思うんだが。

843 :名称未設定:2015/07/03(金) 12:52:31.99 ID:XNgX/SaB0.net
えっ⁉︎そうなの?

844 :名称未設定:2015/07/03(金) 13:57:23.67 ID:1W7R06Tt0.net
>>842
詳しく!

845 :名称未設定:2015/07/03(金) 14:04:31.24 ID:pRuDA1UH0.net
書き直されるかは微妙だな。
例えばUIControlのaddTargetをクロージャにした場合、
既存のプログラムはフレームワーク内のパーツも含めて全書き換えになるし、
IBActionにできないからIBでの設定ができなくなる。
俺は別にいいけど、一般的にはどうかな。

846 :名称未設定:2015/07/03(金) 14:13:34.30 ID:bq9mDut90.net
>>842
そんな訳はない。tableviewとかは、今後もdelegateを使った実装のほうがわかりやすい。
要は使い分けの問題。

本来コールバックで処理した方が自然なところにはclosureを使うべきだったんだけど、blocks構文の仕様が後付だったせいで、delegateを使ってる箇所が幾つかあるから、そういうところは置き換わって行くかもね。

847 :名称未設定:2015/07/03(金) 17:22:48.80 ID:YeNhtdyD0.net
慣れだろうがdelegateへの書き換えはないだろうな
やるなら CollectionView のタイミングでやって欲しかった、当時なかった気もするけども
URLSessionとURLConnectionの乗り換えみたいに、うーん?と考えながら書き換えになりそう

848 :名称未設定:2015/07/17(金) 06:29:33.38 ID:1YXYUL7N0.net
関数内static変数って宣言出来ないの?なんでなの?

849 :名称未設定:2015/07/17(金) 17:54:00.96 ID:7W6HIEYP0.net
できたよ。

var 関数内static = 1

850 :名称未設定:2015/07/17(金) 18:25:31.77 ID:doUblNs10.net
>>848
知っていてたのか知らないのか知らんが
http://stackoverflow.com/questions/25354882/static-function-variables-in-swift
こういう一歩余計めんどくさいことをさせるのがSwiftだろうw あんまそれ↑を必要とする意味がわからんけど

851 :名称未設定:2015/07/17(金) 18:32:13.91 ID:doUblNs10.net
ああ、なるほど
クラスはどこでも定義できるから関数/メソッド内でプライベートクラス定義してそれのクラス変数でやれってことか
普通のクラス変数の定義と同じで首尾一貫しているやんw

852 :名称未設定:2015/07/17(金) 20:51:18.20 ID:uxVzZTcL0.net
自演なのか何なのか

>>849
letにしないとwarning出そう

853 :名称未設定:2015/07/21(火) 17:11:25.92 ID:qxc6WExK0.net
informal protocolってのがあって、このプロトコルで宣言されたメソッドは、プロトコル準拠のクラスで実装しなくても良いらしい。
CALayerDelegateをAPI Referenceで見ていて出てきたんだけど、informal protocolを実装するにはどうすれば良い?

protocol Mochi {
func sayHello() -> String
}
例えば、sayHelloをinfomalにするにはどう書けば良いんすか?

854 :名称未設定:2015/07/21(火) 17:12:31.21 ID:hTeoz3s70.net
それはObjCの用語

855 :名称未設定:2015/07/21(火) 17:27:10.64 ID:zF3HfVi50.net
だし、protocolにoptionalが無かった頃の名残的な古典的なのだわな

856 :名称未設定:2015/07/21(火) 17:31:01.29 ID:7Jk+UwkD0.net
swiftでoptionalって推奨されてたっけ?
使うにしても@objcで宣言しないと使わせてやらねー的なモノだったような

857 :名称未設定:2015/07/21(火) 17:34:55.89 ID:zF3HfVi50.net
いや、Objevtive-C/Cocoa/Cocoa Touchでの話

858 :名称未設定:2015/07/21(火) 19:54:36.98 ID:Pf7RPCtF0.net
>>856
まったく推奨されてない
静的型のSwiftにおいて同じ型なのにあるメソッドがあったりなかったりって状態がアカン
ObjCでいうrespondsToSelectorも無いし
明確に型を分けるべき

ただしSwift 2.0ではプロトコルエクステンションでデフォルト実装を書けるようになったから
一部のユースケースではデフォルト実装で代用できる

859 :名称未設定:2015/07/21(火) 21:07:53.59 ID:D7GAPV6E0.net
Protocol型の変数にweak付けられないのはなんなんだぜ?

860 :名称未設定:2015/07/21(火) 21:17:49.47 ID:zoOCSy5a0.net
852です。
swiftでinformal protocolを簡単には実装できないんすね。

861 :名称未設定:2015/07/21(火) 21:30:26.83 ID:Pf7RPCtF0.net
そんなことは言ってない
Informal protocolみたいなズボラな方法よりSwiftに合ったもっといい方法があるし
ObjCでもObjC 2.0以降はほとんど使われなくなってる古い手法

Informal protocolはただのNSObjectのカテゴリだから、SwiftでもNSObjectのextension書けば同じこと
でもそんなことする意味はまったくない

862 :名称未設定:2015/07/22(水) 07:34:53.39 ID:bv8teojX0.net
>>858
推奨はされてないが使えるってことかな
objc の informal protocol = swift の optional protocol(@objc付与必須)でおk?

863 :名称未設定:2015/07/22(水) 08:14:14.62 ID:t/e2AFT+0.net
>>861
852です。
Swiftでinformal protocol準拠のクラスを定義するには、informal protocol
の実装部分はobjcで書いて、@objcコンパイル指令を使ってintormal protocol
をSwiftソースへ埋め込めば良い。

って解釈でOKでっしゃろか?

864 :名称未設定:2015/07/22(水) 08:26:30.22 ID:t/e2AFT+0.net
protocol Mochi {
func sayHello() -> String
}


class Piyo: Mochi {
func sayGoodby() -> String {
return "By, Piyopiyo"
}
}
上記をコンパイルすると、note: protocol requires function sayHello()
と言って怒られます。
@objcコンパイル指令を使えば、怒られずに済む訳ですよねぇ。

けど。。。@objcコンパイル指令なんて、使った事無いっす。

865 :名称未設定:2015/07/22(水) 10:40:07.81 ID:9Wr60tM+0.net
>>862,862
細かく言うと違う
@protocolは元々あったのねん。でも、全て実装必須
delegateのような実装してもいいし実装してもいくないのを実現する(他にも理由があるだろうが)のに、じゃ、@interface NSObject (Hoge)でインターフェースだけ定義してっていうのが、informal protocol
protocol に対して informal protocol だろう。protocolを使う時点でInformal protocol じゃないだろう

protocolにoptionalをつけたら、informal protocolと同じように(また、なんでもかんでもNSObjectになんて不細工で無く)、実現できたにすぎない

元々の
> CALayerDelegateをAPI Referenceで見ていて出てきたんだけど、informal protocol
も、CALayerDelegate が「まさしく」 informal protocol だからだよ。ヘッダー見てみ

866 :名称未設定:2015/07/22(水) 10:45:28.36 ID:9Wr60tM+0.net
>>863,863
optionalなprotocolを(@objc付きだろうが)Swiftだけで実装するには、
http://tea-leaves.jp/swift/content/プロトコル
らしいよ。ちたーググってみよう。「informal protocol」もたぶんあるよ

867 :名称未設定:2015/07/22(水) 11:07:46.33 ID:t/e2AFT+0.net
>>866
THX
できたぁー。

import Foundation
@objc protocol Mochi {
optional func sayHello() -> String
}


class Piyo: Mochi {
func sayGoodby() -> String {
return "Bye, Piyopiyo"
}
}
let a = Piyo()
print(a.sayGoodby())

コンパイラがrequires function sayHello()って言わなくなった。すごい。

868 :名称未設定:2015/07/22(水) 11:12:02.95 ID:t/e2AFT+0.net
866です
環境はXcode7 beta1 + Swift2.0っす。

869 :名称未設定:2015/07/22(水) 11:40:14.88 ID:MPVI/U/M0.net
結局ここに落ち着くわなw
長々講釈たれてたが@objcで強引にobj-c機能をswiftに持ってくるが正解

swiftが静的だからとか関係なく、気分悪いから使わない文法にしただけで互換のために使えなくもない
ただ、わざわざswiftでドロップしたロジックを使うのは好ましくはない

870 :名称未設定:2015/07/22(水) 16:48:23.11 ID:t/e2AFT+0.net
@で始まるヤツは、アトリビュートっていうのね。
#pragmaとかのコンパイル指令と同類なのかと勘違い
しちゃったわぁ。

871 :名称未設定:2015/07/23(木) 15:56:42.08 ID:rKzdoz3L0.net
もういっそObjective-Cで書けよ。

872 :名称未設定:2015/07/23(木) 19:29:03.42 ID:09yVANYT0.net
一つの不満で他の良い所を全破棄かよw
極端すぎんだろ

873 :名称未設定:2015/07/24(金) 09:01:18.62 ID:9k6Fc05g0.net
>>871

やっぱObjective-Cっすかねぇ。Swiftよりも。
Swiftの方が、ソースをみても落ち着くんすけど、気分的に。

874 :名称未設定:2015/07/24(金) 10:50:31.20 ID:/nsf41rL0.net
開発面はObjCのほうがまだまだ楽だけど、既にSwiftが良いと思っているレベルならSwiftつかったほうが良いんじゃね。

875 :名称未設定:2015/07/24(金) 14:25:48.43 ID:JcI4I+dS0.net
Swiftブログに魚とごはんを混ぜると寿司になるというギャグが書かれている
https://developer.apple.com/swift/blog/?id=30

876 :名称未設定:2015/07/24(金) 14:51:24.66 ID:ROIarXPA0.net
速度性能と容量とメンテナンス性を犠牲に読みやすいswiftを使う
アリだと思います

877 :名称未設定:2015/07/24(金) 16:15:26.42 ID:9k6Fc05g0.net
>>875
情報thx

It would be as surprising as an array with values ?? and ?? being considered equal to ??.

878 :名称未設定:2015/07/24(金) 16:16:28.05 ID:9k6Fc05g0.net
あぁぁ
やっぱ絵文字は表示できないのかな?俺の使ってる2ch browserでは。

879 :名称未設定:2015/07/24(金) 16:27:15.80 ID:JcwI3xXx0.net
>>875
海鮮丼じゃないのか

880 :名称未設定:2015/07/24(金) 17:09:16.52 ID:/nsf41rL0.net
絵文字というかDAT自体が??で保存されてるっぽいが。?

881 :名称未設定:2015/07/24(金) 17:11:38.38 ID:JcwI3xXx0.net
🍣

882 :名称未設定:2015/07/24(金) 17:15:54.02 ID:9k6Fc05g0.net
ところで皆さん、ソースファイルの1行の文字数は幾つにしてます?
俺は自分で決めたコーディング規約、80文字にしてます。

だから、ネットで拾ったサンプルコードも、まずは改行の挿入から
はじめる事が多いっす。

1)文字数制限なし。
2)80以上の文字数制限をしている。
3)同じく80文字

3つの内、どれでっしゃろ?

883 :名称未設定:2015/07/24(金) 17:20:52.76 ID:JcwI3xXx0.net
制限なし
固定幅とかナンセンスすぎ阿呆らし

884 :名称未設定:2015/07/24(金) 17:51:01.65 ID:LhkaOaZz0.net
全くもって同じ
1行1ステートメント(複合あり)の方が読みやすくなるし。まず、大まかに流れを掴むためには
その後じっくり読むのには1行じっくり読めばいいのだし。たとえ横スクロールしても

885 :名称未設定:2015/07/24(金) 20:08:43.32 ID:UIS9DV/n0.net
obj-cで行数制限なんて実質不可能だったしなw

swiftでは100行くらいを目安に改行してる
折角読みやすい言語仕様になってるのに、横スクロールなんてしたくないからな

886 :名称未設定:2015/07/24(金) 21:10:16.07 ID:LhkaOaZz0.net
桁、桁

887 :名称未設定:2015/07/24(金) 21:18:49.88 ID:r3oHu3pa0.net
>>883
ぇえー。俺、vimでもソースいじるから80coulumnで改行してる。
Xcocdeのpreferenceでも80columnで薄ーいライン入れるオプションあるから
外人さんにも、そんな人多いのかなぁと思ってたんだけど。

888 :名称未設定:2015/07/24(金) 21:31:21.11 ID:LhkaOaZz0.net
なんかこじつけくさいようなそでないようなw
Terminalのウィンドウ(&vim)も80にしかならないわけじゃないでしょ。80に固執する意味がわからんなw
まあ、Terminalでのウィンドウは「なんとなくな見栄え」から俺も80がデフォルトで決して大きくはしないけどw

889 :名称未設定:2015/07/24(金) 22:04:29.73 ID:1LaI0dIr0.net
10年前くらいのスタンダードなコーティングルールが80だったよな
ディスプレイサイズ広くなったし、80は少なくね?って100とか120のルールを最近は見る

890 :名称未設定:2015/07/24(金) 22:28:37.33 ID:2WylF6tf0.net
構文を理解して、なんかいい具合に折り返してくれるエディタが求められている

891 :名称未設定:2015/07/24(金) 22:34:15.35 ID:1LaI0dIr0.net
Xcode (Plugin)に期待してどうぞ

892 :名称未設定:2015/07/25(土) 02:53:06.13 ID:TOmTQc0b0.net
ちょっとスレ違いかもしれんけどgoの好きな部分として
構文規約の強制ってところがあるんだよね。
具体的には、{}の位置を
func XXX() { //<―
//something
} //<―
と強制される。
swiftもぜひ入れてほしい。
正直プロジェクト毎に構文規約が変わるのめんどくさい。
いっその事言語仕様としてガチガチにしてくれた方がいい。

893 :名称未設定:2015/07/25(土) 08:58:17.60 ID:A2G0+Sye0.net
お前のルールを強制されることの方がよっぽど迷惑

894 :名称未設定:2015/07/25(土) 09:38:04.51 ID:eKl1s7no0.net
>>892
インデントはエディタの担当領域じゃないかなぁ。
goってのを使ったこと無いから、構文規約の強制ってのが
どんな言語仕様なのかようわからんけど。

まさか、使うエディタも指定してくるとか?昔の
N88 Basicみたいに。

895 :名称未設定:2015/07/25(土) 09:47:34.00 ID:0iP6K+Sq0.net
>>892
つ コーディングルール

896 :名称未設定:2015/07/25(土) 19:26:42.66 ID:mg8EsEFj0.net
>>892
強制されるってのは言語仕様って事?
そもそも改行とインデントの強制があればブロックの中括弧はいらない気がする。
って、それpythonやん。

897 :名称未設定:2015/07/26(日) 10:00:46.02 ID:iDYLOVO80.net
桁数決めて制限する必要はないかも知れないけど、
横長すぎるコードは大抵手直しが必要なサインだと思うよ。

898 :名称未設定:2015/07/26(日) 11:09:10.16 ID:jnczt4ol0.net
長さ云々でなく、読みやすいかどうか、で決めるようにしてる。
まあ「読みやすいかどうか」の判断が人それぞれの部分もあるから難しいんだけど。

899 :名称未設定:2015/07/26(日) 12:37:49.14 ID:01tDimKM0.net
んだよな
上にある80じゃ狭いから100や120もじゃ、100や120にすれば絶対かというとその根拠は不明だし、横長すぎるって、じゃ、どれだけが横長すぎるかっていうとその根拠も不明だからな
その場その場のセンスwだな。根本的にコードを書く自体が臨機応変なセンスを求められるものだし

900 :名称未設定:2015/07/26(日) 12:46:12.21 ID:sX+UzKaI0.net
SwiftからObjective-Cのインスタンス変数に直接アクセスしたいんだけどどうすればいいのかな。

@interface ThirdPartyLib : NSObject {
BOOL _dump;
}
@end
// lib->_dump = YES;をしたい。

サードパーティ製のスタティックライブラリなのでプロパティーは作成されていない。
カテゴリーやリフレクションを使わずにアクセスする方法ってあるのかな。

901 :名称未設定:2015/07/26(日) 12:56:28.99 ID:a5uOv+hC0.net
>>899
コーティングルールが根拠の一つだな
そのルールを決める時に何で判断するかはあるだろうけど
Googleが公開してるコーディングルールにも桁数あったような、、、

まぁルールのない一人の開発なら気分でおk

902 :名称未設定:2015/07/26(日) 12:59:15.37 ID:01tDimKM0.net
>>901
いや、だからその コーディングルール の 根拠 がなんでやねんっていう
世の中には変なコーディングルールも存在するんやで。まあ、関係ないけど

903 :名称未設定:2015/07/26(日) 13:04:44.72 ID:FJcBmH7E0.net
>>900
超裏技を教えましょう。
@interface ThirdPartyLib : NSObject {
@public
BOOL _dump;
}

904 :名称未設定:2015/07/26(日) 13:29:36.21 ID:01tDimKM0.net
>>900
Key-Value Coding の setValue/valueForKey は使えるな
んなのよりは、カテゴリーでアクセサなりプロパティ追加したほうがいいと思うけど

905 :名称未設定:2015/07/26(日) 13:47:35.76 ID:a5uOv+hC0.net
>>902
その場その場で決める気分より、コーティングルールを考えろというね
君が考える必要性を感じない開発をしてるのはよく分かったw

906 :名称未設定:2015/07/26(日) 14:09:05.96 ID:01tDimKM0.net
>>905
その場その場ってなんか勘違いしてない?横幅だよ。周りとのバランスとかで考えているよw
横幅でのコーディングルールは君は固定で必要なのね。誰かが決めてくれないとなのね。ふーん、必要なんだろうな、全くわからんが

907 :名称未設定:2015/07/26(日) 22:27:49.88 ID:0Ah167/o0.net
人によって、ディスプレイによって最適解は変わるとはいえ、職場だと何某かの決まりはないとね。
Aさんの書いたコードをBさんが読むわけだからね。

908 :名称未設定:2015/07/26(日) 22:49:23.82 ID:jnczt4ol0.net
フォントや色付け設定だけでも結構見えかた変わるしね。

空行をどこで入れるかとか、どういったコメントをどの程度入れるかでも読みやすさは変わる。
そこまでコーディングルールとして明記する職場なんてあるのかな。
俺は見たことない。

909 :名称未設定:2015/07/26(日) 23:39:44.62 ID:01tDimKM0.net
「こうでなきゃ」というのがあるから人のソースを読むのに苦労するんじゃね?
そんなもの捨てたら臨機応変wに他人のソースも苦もなく読めるようになるよ。たかが横幅の問題なら
そんなどうでもいいことよりも、絶対必要な最小限度なコーディングルールが皆の幸せになると思うんだけどww

910 :名称未設定:2015/07/27(月) 10:02:06.83 ID:rpvTTBsA0.net
じゃぁ、もう一つコーディングルールネタで。

ソースコードにインデントの為にタブ(\n)の入力があっても良いですか?

1)タブはスペース(例えばスペース2個)で代用する。ソースのファイルサイズが若干増加するが、
最近のファイルシステムは最小管理単位が4Kbyteもあるので、Diskの消費
量は変わらない。

2)タブを使ってインデントをする。行の先頭を揃えるためにタブを使うのは昔からの
習わしで、変えてはイケナイ。

ちなみに、俺は1)です。

911 :名称未設定:2015/07/27(月) 10:24:21.90 ID:rpvTTBsA0.net
コーディングルールネタでもうちょっとお聞かせください。

メソッド引数を羅列する時、途中で改行したくなったとします。カンマの後で改行しますか?前で改行しますか?
例えばこんだけ、メソッド引数(NSRgularExpression#firstMatchStringメソッドの引数)が有った時、改行は次の1) - 3)のどんな具合に行いますか?

(str as String), options: NSMatchingOptions.ReportCompletion, range: NSMakeRange(0, str.length)

1)(str as String),
options: NSMatchingOptions.ReportCompletion,
range: NSMakeRange(0, str.length)

2)(str as String)
, options: NSMatchingOptions.ReportCompletion
, range: NSMakeRange(0, str.length)

3)改行しない

4)カンマ以外の所、たとえばセミコロン;の前か後ろで改行する。

俺は1)です。

912 :名称未設定:2015/07/27(月) 11:03:34.76 ID:54LBs3Mr0.net
よくよく考えたら、細かいコーディングルールなんてもんは開発初心者向けだよなw

913 :名称未設定:2015/07/27(月) 11:38:35.92 ID:rpvTTBsA0.net
>>912
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)2012/6/23
Dustin Boswell、 Trevor Foucher

俺はこいつを読んで、自分のコーディングスタイルを見直す様になった。
細かいこだわりというか、規約を決めた事で、コードを見る時のストレスが減った様に
思う。それに、色々細かい事を迷わなくなって、決めたことに従うようにしようとだけ
思うようになった。

914 :名称未設定:2015/07/27(月) 11:51:01.02 ID:54LBs3Mr0.net
>>913
初心者を抜けた頃には自分でそれなりに確立しているだろうっていう。人のコードを見て参考にするなり見やすいようにと
だいたい何も考えてないなコイツはってのは開発初心者だな。それなりの人はそれなりに書いてある。違いはもう好みの違いとしか言いようがないw

細かい強制しまくりなコーディングルールは「何も考えていない」ヤツ向けだよな、まあ、そうしたくのはわからないでもないってとこ

何も考えていない例:例えばfuncの終わりの } の次に空行なしで次のfuncとか。まあ、そういう好みがあるのかもしれないが

915 :名称未設定:2015/07/27(月) 12:18:59.03 ID:m4P9ukw70.net
インデント幅がスペース2個は個人的には見づらいな

916 :名称未設定:2015/07/27(月) 12:44:36.50 ID:rpvTTBsA0.net
>>915
そかそか。

他人のコード見て気づくのは、
HTML書く人はスペース2個、コード書く人はスペース4個をインデントに使う
事が多そう。

917 :名称未設定:2015/07/27(月) 12:48:32.08 ID:rpvTTBsA0.net
>>916
そうそう、思い出した。Rubyの人はスペース2個の人多いわぁ。

Rubyのメソッド名は短いの多いし、スペース4個もあると、間抜けな感じが
するなぁ。

918 :名称未設定:2015/07/27(月) 14:15:26.79 ID:J1S63idy0.net
>>914
チーム開発で個々に自分の確立したルールで書かれたら困ると思うが
go使いがハードタブでこれが正義だと言いかねん

919 :名称未設定:2015/07/27(月) 18:13:22.93 ID:54LBs3Mr0.net
>>918
チーム開発もやってるけど
チーム開発でも分担だけど?1つのファイルを複数で編集合戦でもしてるの?
タブすらなのね。タブすら相手に合わせて 読む ことができないの?

でもチーム開発では 単なる見栄え(統一感) からある程度合わせるのはあるけどね

920 :名称未設定:2015/07/27(月) 18:23:38.96 ID:54LBs3Mr0.net
ハードタブとわざわざ書いているのだから、やっぱりエディタのタブ設定機能を使えない人なんだなと
なんだやっぱり初心者じゃ。終了ww

921 :名称未設定:2015/07/27(月) 18:59:49.75 ID:J1S63idy0.net
>>920
普通にウケたww

922 :名称未設定:2015/07/27(月) 22:15:30.27 ID:rFjSOcSg0.net
むしろ編集合戦とか言ってる方が激しく初心者っぽい

923 :名称未設定:2015/07/27(月) 22:24:28.54 ID:54LBs3Mr0.net
冗談めいてだよ。まさしくな編集合戦なわけなあるわけないだろう。真面目だな
ああ、冗談でも初心者っぽくなのか。わからん。とりあえず以後気をつけようw

924 :名称未設定:2015/07/27(月) 22:47:19.26 ID:uGjOZ7jU0.net
つ整形プラグイン

925 :名称未設定:2015/07/28(火) 01:34:17.66 ID:AfulwDh40.net
端から端まで面白いので、彼にとってどれが本気だったのか
難しい、、、

926 :名称未設定:2015/07/28(火) 08:30:09.25 ID:YeWb656p0.net
>>910
タブは \t な

927 :名称未設定:2015/08/02(日) 17:53:29.16 ID:7URspNO40.net
Swift の勉強を開始しまして、Playground を使ってあれこれ試しているところですが
教本では「警告が出る」とされることをやっても警告が出てきません、最新の
Xcode/Playgroundでは警告を出させるための設定が必要なのでしょうか?

例えば、Playground でオプショナルを宣言した際 ? を添え忘れると警告が出る
と教本にはありますが、Xcode 6.4 ではそれが出てきません。
また、オプショナルに直接アクセスしたら警告が出るはずですがやはり出てきません。

CommandLine Tool プロジェクトを作って試すと、上記2つの誤作法はそれぞれ
改行入れた時点ですぐエラー扱いになるので、Playground環境だけで何かすべき
ことがあるのか悩んでいる次第です。

OS: 10.10.4
Xcode: 6.4

でやっています。

928 :名称未設定:2015/08/03(月) 09:42:54.67 ID:vpdlUoCy0.net
>>927
警告とか、最適化の設定なんて不要。

Swiftは今、環境変化激しいからね。Xcode6.3, 6.4で挙動が違うのは当たり前。

Swift1.0, 1.1, 1.2と来て、そして2.0のbetaが今の段階。
2.0betaでも俺は、奇妙な挙動に出会った事無いわぁ。

929 :名称未設定:2015/08/03(月) 13:19:11.10 ID:pWL7qVR50.net
2.0が出てもまた色々仕様変更あるんだろうな。
Linux側からのフィードバックとかも取り入れるんだろ?
カオスな言語になっていきそうな予感。

930 :名称未設定:2015/08/03(月) 13:43:54.30 ID:lhKlX2Bo0.net
こんなに面倒いのなら、苦しいのなら、swiftなど要らぬ。

931 :名称未設定:2015/08/03(月) 13:57:43.49 ID:vpdlUoCy0.net
>>929
仕様変更なんてどの言語もショッチュウだよ。
C++なんて、C++11が出たと思ったら、C++14が出てきて、今はC++17へ向け作業中だし。

Rubyなんてどんどんリビジョン上がるし、1.92, 1.93, 2.0, 2.1, 2.2って感じで1年毎位に変化してる。

Objective-CだってNullabilityの導入がXcode7で予定されてるし、Swiftだけが仕様変更が頻繁って訳では無い。

932 :名称未設定:2015/08/03(月) 13:58:55.47 ID:v+fHk9+J0.net
そのサイクルがっていう。また、新しいのに強制wっていう

933 :名称未設定:2015/08/03(月) 14:17:29.29 ID:KqUelVwU0.net
swift以外はコンパイラに下位互換があるけどな
人柱向けの言語だし楽しめば良いと思う

934 :926:2015/08/03(月) 21:38:02.44 ID:185C/m840.net
なるほど、あまりまだ環境が安定してないんですね?

まだ超初心者範疇なのでコマンドラインツールの
プロジェクトでプレイグラウンドの代用でどうにか
なりそうだしそっちでやってみます。

話に応対してもらってありがとうございます!

935 :名称未設定:2015/08/04(火) 11:25:15.47 ID:F3KHS8CM0.net
>>934
playgroundを使ってSwiftに慣れようとするのは、第一歩としてはいいと思う。
俺は、playgroundが重くて、嫌になって、
vim + swiftc + quickrun環境へ移行した。こいつで、Xcode起動するまでもない様な、コードの断片を試すことができる。

ちょこちょこっとした、コードの断片を試す環境は、是非作っておかないと困るぞ。
vim + swiftc + quickrun環境の欠点は、breakpointを置けないので、print or printlnでデバッグしないといけない所。

936 :名称未設定:2015/08/08(土) 21:49:14.93 ID:gGCfgUvp0.net
Atom使ったほうが楽だよ

937 :名称未設定:2015/08/10(月) 19:28:13.78 ID:cdhlVkIc0.net
IDEは信仰だから好きなの使うべきだよ
とvim信者の俺は思う、vimなんて他人に推すものじゃねーよ

938 :名称未設定:2015/08/27(木) 18:13:56.49 ID:X2w7eZYu0.net
Swiftでどのくらいの行数の規模のコード書いてる?

939 :名称未設定:2015/08/27(木) 21:43:24.33 ID:rZIZiQmI0.net
遊びでしか使ってないので3画面程度の規模かな。
あまり大規模で複雑なコード書くとコンパイルが重くなる。

940 :名称未設定:2015/08/27(木) 23:06:48.97 ID:dndwqP2C0.net
毎回フルコンパイルしてるの?

941 :名称未設定:2015/08/28(金) 10:24:00.11 ID:je2cB01U0.net
つーかXcodeが落ちる。ベータ7じゃなくて6.4なのに。

942 :名称未設定:2015/08/28(金) 10:46:45.73 ID:3HBBuQgk0.net
playgroundはしょっちゅうハングするから使うのをやめた

943 :名称未設定:2015/08/28(金) 11:18:44.87 ID:ASMsznQn0.net
>>940
差分コンパイルでも規模が大きくなればもたるよ

SourceKitのバンクは最新でも頻繁に起こるな。
ObjCのソースをコピペするとすぐにバンクする。

944 :名称未設定:2015/08/30(日) 20:46:56.57 ID:Tn5EFp2a0.net
>>892
スレチ遅レスながらGo仲間がいてほっこり
Sublime Textで保存時オートフォーマットかけてるけど、コーディングルール強制って郷に従うと悩みが減っていいよね
c系もJavaも、チーム開発もの以外は全部AStyleで自動整形にしたよ

swiftでもAppleの標準が出たら自動整形プラグイン作る人が出てくるとは思うけど、まだ言語仕様がふらついてる感じだからなぁ。まだ先かな

945 :名称未設定:2015/09/03(木) 18:48:06.60 ID:fKZMSMkh0.net
そんなものよりswiftdocはよ
jazzyバグりすぎてて涙目

946 :名称未設定:2015/12/04(金) 02:32:19.71 ID:nDIBfoC20.net
オープンソース化
http://github.com/apple/swift

947 :名称未設定:2015/12/04(金) 02:52:12.97 ID:N2XwQhFd0.net
おお、ついに来たとですか

948 :名称未設定:2015/12/04(金) 09:29:45.41 ID:ugvMyHwh0.net
そーっすか

949 :名称未設定:2015/12/04(金) 10:36:14.84 ID:XckMiveg0.net
>>946
utilsかどっかに、vim用のファイルタイプdetectorとか、syntax hilight用の定義ファイルがある。

950 :名称未設定:2015/12/04(金) 11:47:56.65 ID:CUwOVBL00.net
package managerがいるけど
carthageは死ぬ運命なの?

951 :名称未設定:2015/12/04(金) 21:42:41.70 ID:g3CnfHdM0.net
遂にオプソ化されて盛り上がってるかと思いきや
全然過疎っててワロタ

952 :名称未設定:2015/12/04(金) 21:46:56.99 ID:H/aDfADg0.net
Swiftをググると、Taylor Swift が出てきてウザい

953 :名称未設定:2015/12/05(土) 08:08:47.73 ID:2EU49KiW0.net
>>952
逆もまた真なり

954 :名称未設定:2015/12/05(土) 10:55:25.18 ID:nRt9eie50.net
>>952

俺全然、Taylor出てこない。ブラウザが学習しているのか?
もし、そうだったら怖いなぁ。

“swift”-taylor試してみるまでも無い。

955 :名称未設定:2015/12/05(土) 10:57:38.98 ID:tgpjEOyz0.net
Googleなら当然学習する
他の検索エンジンもしてるだろ、多分

956 :名称未設定:2015/12/06(日) 14:53:15.35 ID:NGuM7UWE0.net
>>935
swiftc -g goo.swift
でコンパイルして、
lldb goo
でdebugセッション開始すればprint debugを避けられる。

957 :名称未設定:2015/12/06(日) 16:02:35.04 ID:LmjGkFYJ0.net
>>953
いや、逆は真じゃないだろ

958 :名称未設定:2015/12/06(日) 16:03:39.09 ID:LmjGkFYJ0.net
にしてもAppleはSwiftが流行ってますキャンペーンに必死だな

959 :名称未設定:2015/12/06(日) 16:05:01.98 ID:LmjGkFYJ0.net
以降↓「現にSwiftユーザーは増えてきてるだろ」定期

960 :名称未設定:2015/12/06(日) 16:10:16.59 ID:pWopbfb60.net
>>958
AppleがやってるというSwiftが流行ってますキャンペーンの具体例をどうぞ

961 :名称未設定:2015/12/06(日) 16:11:45.71 ID:LmjGkFYJ0.net
>>960
http://www.apple.com/jp/swift/

962 :名称未設定:2015/12/06(日) 16:16:12.54 ID:pWopbfb60.net
>>961
で、どこらへんが
>AppleはSwiftが流行ってますキャンペーンに必死
なんだ?
具体的にどうぞ

963 :名称未設定:2015/12/06(日) 16:24:18.09 ID:LmjGkFYJ0.net
>>962
それに気づかないのなら既にAppleにまんまと乗せられているということです

964 :名称未設定:2015/12/06(日) 16:28:10.72 ID:88fpyZMc0.net
>>962
必死だな(藁

Windows上でのビルドと他OSへのクロスコンパイルは有志に投げっぱなしジャーマンなのかね
有志界隈でネタになるから、あえてやらないことで客寄せするのは狡猾だと思った

965 :名称未設定:2015/12/10(木) 19:30:59.97 ID:GmTcsZcI0.net
花ミソ

966 :名称未設定:2015/12/13(日) 01:12:57.43 ID:U56fmPkN0.net
次スレ
プログラミング言語Swift 3
http://potato.2ch.net/test/read.cgi/mac/1408762479/

967 :名称未設定:2015/12/13(日) 11:22:55.09 ID:2AX8YiIQ0.net
>>966

良いスレッドタイトルだね。
スレタイは判りやすいのが良いね。

968 :名称未設定:2015/12/15(火) 13:18:19.92 ID:z2iu9b5+0.net
埋めろ

969 :名称未設定:2015/12/15(火) 13:36:00.33 ID:7RQORcKT0.net
埋めるにはまだ早い

970 :名称未設定:2015/12/15(火) 13:47:18.52 ID:IfYGN9EB0.net
埋めるに越したことはない

971 :名称未設定:2015/12/17(木) 23:36:47.87 ID:AxBLpp0P0.net


972 :名称未設定:2015/12/18(金) 00:22:53.73 ID:3zhs+53+0.net
これ電子版一緒に出ないのかねえ

詳解 Swift 改訂版 荻原 剛志
ttp://www.amazon.co.jp/dp/4797386258/

973 :名称未設定:2015/12/18(金) 01:17:24.96 ID:j17IN9RK0.net
荻原本か。言語の更新早いから、買うの躊躇うなあ。

974 :名称未設定:2015/12/18(金) 01:49:25.31 ID:jlQM2HgD0.net
説明が必要な言語でもなかろう

975 :名称未設定:2015/12/18(金) 02:17:22.47 ID:LKcTc2DJ0.net
萩原さんなら出版時点の網羅は期待できるから、リファレンス補遺にはありかもね
obj-cでは改訂含めて安心できてほんと世話になった
もちろんswiftはネットの情報だけでも充分な手軽さと更新頻度の問題があるから戸惑う。まあ俺みたいな信者需要から一年経ってどう評価されてるかだろうな

976 :名称未設定:2015/12/18(金) 02:38:12.79 ID:QrcDPU/Q0.net
萩原の説明は苦手だわ

977 :名称未設定:2015/12/22(火) 09:49:43.19 ID:xggYXiDQ0.net
糞スレさっさと埋めろ

978 :名称未設定:2015/12/22(火) 14:25:46.05 ID:+e46rdLN0.net
嫌です。

979 :名称未設定:2015/12/22(火) 14:44:23.33 ID:GDZwZkQ80.net
nil結合演算子 ?? が便利。気づかなかった

if let count = photos?.count {
return count
}
return 0

いちいち上みたいな書き方してた
return photos?.count ?? 0

でいいのね

980 :名称未設定:2015/12/22(火) 22:52:14.84 ID:XK3WE9/p0.net
(ô̮̮̮̮̮̮̮̮̮̮ɷô̮̮̮̮̮̮̮̮̮̮)

981 :名称未設定:2015/12/22(火) 23:17:24.95 ID:xY9Be1lk0.net
Swiftクソだな
短く書けりゃいいってもんじゃねぇ
それともプログラミングコンテストにでも応募するか?

982 :名称未設定:2015/12/23(水) 12:18:12.52 ID:bnCq7NqS0.net
貶すだけなら猿でもできるぅるるるるるる

総レス数 982
220 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★