精神レ○プ!IT土方と化した先輩 Part3

  04, 2016 23:38
仕事でiOSアプリの開発をすることに
言語に関して調べてみたら、これまではSwiftかObjective-Cが多く使われていた模様
どっちもやったことないしどうすっかな~俺もな~って考えてたら、半年くらい前にXamarinがオープンソースしたというのを知って、結局言語はC#で書くことにした
.NET Frameworkのライブラリ使えるし、よっしゃ!学習コスト少なくて済むやんけ!って思ってたら、Xamarinについて解説してる日本語サイトが割りと少なくて涙がで、出ますよ
stackoverflow(英語)とかXamarin.iOSのAPIリファレンス(英語)を漁ったり、SwiftやObjective-Cのコードを見つけてはC#用にそれっぽく書き換える日々が続いた
いやーキツイっす(英語)
日本でもXamarin流行らせコラ!

というわけで、日本語サイトで見つからなかった情報を中心にXamarin.iOSの解説的なものを書くから見とけよ見とけよ~


・iOS端末のUDID(IDFV)を取得する(文字列)
名前空間: MonoTouch.UIKit

UIDevice.CurrentDevice.IdentifierForVendor.AsString();
//"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" というフォーマット




・端末のiOSバージョンを取得する(文字列)
名前空間: MonoTouch.UIKit
戻り値が文字列型なので、iOSバージョンの比較とかをしたいときはdoubleとかにParseすればいいんじゃないですかね(適当)※

UIDevice.CurrentDevice.SystemVersion;
//"10.1" など

※11/7訂正


・アプリ内でSafariViewを使ってWebページを表示する(iOS9以上のみ使用可)
名前空間: MonoTouch.SafariServices
開いた後に左上のDoneボタンを押すとViewを閉じてアプリの画面に戻る




・Safariを起動してWebページを表示する
名前空間: MonoTouch.UIKit
OpenUrlメソッドの戻り値は地味にbool値
SafariViewとの大きな違いは、アプリ外なこととDoneボタンがないこと




・ボタンタップイベント(ラムダ式で書くなら)

button1.TouchUpInside += (sender, e) =>
{
//ボタンタップ時の処理
};




Xamarin関係ない話だが、PHPだとよく2次元配列をforeachで以下のようにキーと値を同時に取ってくるやり方があるが、

//PHP
<?php
foreach ($array as $key => $value)
{
echo $key.'=>'.$value;
}
?>

C#のDictionaryでキーと値を取得しながらループ回すやり方知らないと思って調べてみたらあった模様

//C#
foreach (KeyValuePair<string, string> pair in dic)
{
Console.WriteLine(String.Format("{0}=>{1}", pair.Key, pair.Value));
}

はぇ~すっごいスマート...
今までキーだけループで回してDictionary本体にループ変数を当てるやり方でやってたゾ...(池沼)
スポンサーサイト

0 Comments

Post a comment

What's New