iOS Swift Objective-C

NSString NSInteger の変換

NSStringをNSIntegerに変換 NSString *stVal=@"1234"; NSInteger num=[stVal intValue]; NSIntegerをNSStringに変換 NSInteger numVal=1234; NSString *stVal=[[NSString alloc] initWithFormat:@"%d",numVal];

今日より前の日付かを判断する

今日より前の日付かを判断する方法 NSDateクラスの「timeIntervalSinceNow」メソッドを使うことで可能です。 NSDate *targetDate = ...; // 日付 if ([targetDate timeIntervalSinceNow] <= 0) { // 日付が本日以前 } else { // 日付が本日以降 } 二つの日付…

interfaceとimplementation

宣言部分 @interface HogeClass : NSObject { } @end 実装部分 @implementation HogeClass : NSObject @end

iOSのコーディング規約を考えてみる

iOSのコーディング規約を少し考えてみようと思います。ちょっとまとめてみよう。 ざっくり基本 インデント space4文字、tabは使わない キャメルケースで記述(例外あり) 複数の語から成る名前の場合、その一部として、あるいは区切り文字として、句読点類(ア…

webviewを使ってみる

#import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSURLRequest* req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://yahoo.co.jp/"]]; [webView loadRequest:req]; } - (void)didRe…

Localpush(UILocalNotification)

プッシュする部分の実装。 これをbackgroundになったときにどのように実装するかとか決めたいですね - (void)localpush { NSLog(@"%s", __func__); UILocalNotification *notification = [[UILocalNotification alloc] init]; //5秒後に実行 notification.fi…

iOS7からバックグラウンドで定期的にフェッチ処理を実行

iOS 7 から追加された新しい Background Mode のひとつ OS 側が不定期(OS の判断で適切だと思われるタイミング(実際は、約 20 ~ 30 分に 1 回の割合))で呼び出してくれる Apple の紹介している例としては、 SNS 系アプリのタイムラインの事前取得 News 系…

NSTimeZone systemTimeZone,defaultTimeZone

zone 内容 defaultTimeZone 各アプリ毎に違う値を設定できる。 systemTimeZone システム環境設定で設定しているTimeZone localTimeZone defaultTimeZoneがValueObjectを返す(値が変わらない)のに対してlocalTimeZoneはdefaultTimeZoneへの参照を返す。defa…

プログレスバーを中央表示する

//button click - (IBAction)btn_Button:(UIButton *)sender { // プログレスバーを作成 progressView = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleDefault]; // 表示位置が画面中央になるように、調整しています。 CGSize pSiz…

NS~~のNSてなんぞや

NSとは、NeXTSTEPの事。 NEXTSTEP - Wikipedia

allocってなんぞや

「欲しいサイズのメモリを使えるようにする」という意味では、ほとんど差が無い のですが、その用意の仕方が違います。 変数で宣言する場合には、あらかじめソースを書く段階で、型とその大きさ(配列の 個数)が決っていなければなりません。 それだけで、…

今日の日付

// 日付の書式 NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"yyyy/MM/dd"]; // 今日の日付を表示する self.toDay.text = [formatter stringFromDate:[NSDate date]];

Gitとかにあるライブラリを使う

ライブラリ管理ツール CocoaPodsを使うらしい 参考サイト ソーシャル目覚ましを作るまで: カレンダーライブラリ~MNCalendarView~ http://www.iosjp.com/dev/archives/451 CocoaPods概要: CocoaPods は、ライブラリ管理ツールになります。 gitにあるライブラ…

CGRect, CGPointMake, CGSize の違い

CGRect 対象オブジェクトの位置とサイズの両方を管理するクラス CGPoint 対象オブジェクトの位置を管理するクラス CGSize 対象オブジェクトのサイズを管理するクラス

変数について

NSInteger 符号付き整数を表します。 この型の変数に小数を代入しても、自動的に整数に切り下げられます。 CGFloat 実数を表します。小数を表したいときはこちらを使います。 数値の後ろにfをつけて代入する場合があります。 3行目でNSIntergerと同様の3を代…

viewのロードタイミング

- (void)viewDidLoad { // Viewが表示される最初の1回だけ呼ばれる NSLog(@"viewDidLoad"); } - (void)viewWillAppear:(BOOL)animated { // Viewが表示される直前に呼ばれる NSLog(@"viewWillAppear"); } - (void)viewDidAppear:(BOOL)animated { // Viewの…

宣言はheaderファイルでするかmainファイルでするか

Objective-Cのソースコードは、ヘッダファイルと実装ファイル(メインファイル、メソッドファイル)、実行ファイルで構成されています。 ヘッダファイル ヘッダファイルは、拡張子が「.h」のファイルです。 実装ファイルで使用するための各種宣言を記述する…

格言

Objective-Cでレビューしたときの指摘事項メモ - まーぽんって誰がつけたの? Objective-Cでレビューしたときの指摘事項メモ - まーぽんって誰がつけたの?

localpushの文字数とデータサイズの制限

・送信データの合計が256バイトなので、256バイト全てを文字列に使えるわけではありません、検証結果では文字列に使用できたのは201byteでした。 表示の制限は iOS7 通知 制限 ①ステータスバー(画面上部) 全角35文字、半角64文字 ②ダイアログ(ロック画面に表…

UITabBarControllerを複数タブ追加する

articles of samekard: UITabBarController

iOSのバックグラウンド処理は、限定

https://developer.apple.com/jp/devcenter/ios/library/documentation/iPhoneAppProgrammingGuide.pdf 長時間実行されるバックグラウンドタスクを実装するためには、 一時停止状態にならずに、バックグラウンドで動作する許可を得る必要があります。 iOSで…

Coredataとは

iOSのアプリ固有領域にデータを永続化する主な方法は以下の通りです。 オブジェクトアーカイブ オブジェクトをバイナリ形式に変換してからファイルに永続化する。一般的にはオブジェクトシリアライズと呼ばれる。使用頻度は少ないが SDK の中で頻繁に使われ…

Coredataの作り方基礎

xcodeを立ち上げます プロジェクトを作成します。 targetsのプロジェクト名をクリックして「Linked Frameworks and Libraries」をから「CoreData.framework」を追加します。 fileの作成から「Data Model」の作成を行います。 「Model.xcdatamodel」が作成さ…

magicalrecordの設定

coredataでDBを作成cocoapodsで「MagicalRecord」をインストール hogehoge-Prefix.pchを開いて次の1行を追記します。 #import <Availability.h> #ifndef __IPHONE_5_0 #warning "This project uses features only available in iOS SDK 5.0 and later." #endif #ifdef __OBJC</availability.h>…

UIDatePickerを使う

ストーリーボードから、ひも付けを行う場合。connectionは、outletとaction(Event=Value Changed)を紐づけておく //outlet @property (weak, nonatomic) IBOutlet UIDatePicker *MyDateTimePicker; //action - (IBAction)MyDateTimePicker:(UIDatePicker *)s…

deallocは、必要

[iPhone] UIViewController の dealloc と viewDidUnload - それはBooks [iPhone] UIViewController の dealloc と viewDidUnload - それはBooks

テーブルの中身を変えるサンプル

self.articles = nil;//一旦初期化 //coredataからデータを取得 NSArray *result = [BookMark MR_findAll]; //NSMutableArrayを宣言 NSMutableArray *t = [NSMutableArray array]; int i;i = 0; for (BookMark *p in result) { NSDictionary *article = @{TI…

UIRefreshControlを追加した

//設置 _refreshControl = [[UIRefreshControl alloc] init]; [_refreshControl addTarget:self action:@selector(refresh) forControlEvents:UIControlEventValueChanged]; //tableviewに追加 [self.tableView addSubview:_refreshControl];- (void)refresh…

iAdをコードで追加

//宣言、デリゲート #import <iAd/iAd.h> @interface ViewController : UIViewController<ADBannerViewDelegate> viewDidLoadに下記を追加 adView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner]; // 画面(ビュー)の下に表示する場合 adView.frame = CGRectMake(0, self.view.frame.</adbannerviewdelegate></iad/iad.h>…

セグメントコントロールを設置

NSArray *segmentTextContext = [NSArray arrayWithObjects:@"まめ速",@"キニ速",@"お気に入り",nil]; UISegmentedControl *customSegment = [[UISegmentedControl alloc] initWithItems:segmentTextContext]; customSegment.frame = CGRectMake(40, 70, 240…