↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > Swift基本

Swift/基本

ここではSwiftの基礎的な考え方をご紹介いたします。まずAppleのObjective-Cの継続版として 開発されたのがSwiftです。Objective-Cの難解なコーディングやメモリリリース等が簡易化されていて、 phpやJavaを書くようなスキルでそのままSwiftのコーディングもできる、そんな言語なのかなと感じています。

今後はiOSアプリ以外にもAndroid等もアプリをエクスポートできるようになって欲しい、 そんな気持ちにさせてくれるサクサクコーディングさせてくれる言語だと思います。成長段階のSwiftですので、修正しつつ進めていけたらと思っております。

コメントについて

Swiftのコメントは、Objective-Cと同様に行単位のコメントとブロック単位のコメントの2種類を書く事ができます

コメント記号 説明
// 行単位のコメント。「//」の後ろから行末までの文字はコメントとして認識され実行されません
/* ◎◎◎ */ ブロック単位のコメント。「/*」と「*/」で囲まれた部分をコメントとして認識され実行されません

ヘッダファイルとメインファイル

Objective-Cではメインファイルとヘッダファイルと分離されていましたが、Swiftでは一つのファイルだけ完結します。 DelegateなどObjective-Cではヘッダファイルに記載してメインに処理をと分かれていましたが、同じファイル内での作業になります。

以下、Swiftのメインファイルです。Delegateがカンマでクラス名の後に追加されています。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

       class ViewController: UIViewController,GKGameCenterControllerDelegate {
           ...
       }
       
参考サイト:【Objective-CとSwift比較】 http://qiita.com/skatata/items/a0b908c899748c843db3

メモリ解放について

 

Objective-Cで惑わされた多くのretain, release, autoreleaseが無くなり、メモリをほとんど気にする事なくコーディングできます。

メソッドの書き方

SwiftはObjective-Cの特殊な構文とは違いPHPやJavaに似ているかと思います。
 例えば、文字列を連結する処理の関数を以下記載します。


// Objective-C
-(NSString*) addString:(NSString*)str1 param2:(NSString*)str2{
 return [str1 stringByAppendingString:str2];
}


// Swift
func addString(param1:String, param2:String){
 return param1 + param2;
}

上記のように、かなり短縮化されました。functionもfuncに、文字列連結も簡単に+で実施できるようになりコード量が大幅に少なくなりました。

メソッドの呼び出し方

メソッドの呼び出し方も同様に変わってきています
Objective-CとSwiftのメソッドの読み込み方法を比べてみましょう。


// Objective-C
NSString *str = [hoge getValue];


// Swift
let str:String = hoge.getValue();

いままでのObjetive-CからJavaやPhpの様な簡単なメソッド実行が可能になりました。
これで[]の括弧地獄から解放されます!

↓こんな記事もありますよ!


2021-05-14 14:21:41

WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。

AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、 昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は...

2021-05-06 14:04:37

LINEのアニメーションスタンプ制作の落とし穴、、、失敗談

ゴールデンウィークにLINEスタンプを作成してみました。 作り切って申請も通したんですが、意図したアニメーションと違う、、、、 LINEクリエーターの画面だと、アニメーションのプレビュー...

2021-05-01 18:05:35

久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。

忘れないようにメモ エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。 ターゲット→ex...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!