Archive for the ‘objective-c’ Category



31
8月

iPhoneアプリ公開


20日くらい前に公開されたのを忘れてました。


ワイプカメラ – TVの小窓・卒アル風写真

結構いろんな使い方ができて面白いデスヨ。

21
3月

[objective-c] httpリクエスト用の独自クラスを作成


現在、iPadアプリを作成した際のノウハウを独自クラス化してまとめております。

ということで掲題の独自クラスを公開。

HttpRequestClass

※ARCの使用を前提として作成しています

■できること
・methodはGET or POSTが選択可能
・レスポンスはNSString or NSMutableDictionary(レスポンスがjson形式の場合)が選択可能
・添付ファイルのPOSTが可能

■使い方
1.HttpRequestClass.hをインポート

#import "HttpRequestClass.h"

2.インスタンスの生成

HttpRequestClass httpRequest = [[HttpRequestClass alloc] init];

3.GETリクエストのセット

if (![httpRequest setInit:@"http://cmf.ohtanz.com/" timeout:20 method:nil]) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※setInitオブジェクトに対してURL、timeout:タイムアウト値、method:nilを指定します
※戻り値はBOOL
※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

4.リクエストの送信(NSStringで受信)

NSString *ret = [httpRequest send]; if ([[httpRequest errorMsg] isEqualToString:@""] == false) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

5.POSTリクエストのセット

if (![httpRequest setInit:@"http://cmf.ohtanz.com/post.php" timeout:20 method:@"POST"]) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※setInitオブジェクトに対してURL、timeout:タイムアウト値、method:POSTを指定します
※戻り値はBOOL
※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

6.POSTパラメータのセット

NSMutableDictionary *list = [NSMutableDictionary dictionaryWithDictionary:@{ @"first_name" : @"taro", @"last_name" : @"yamada", @"age" : @"30" }]; if (![httpRequest setParamData:list]) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※setParamDataオブジェクトに対して連想配列(key=>value)を渡します
※戻り値はBOOL
※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

7.添付ファイルのセット

NSMutableDictionary *list = [[NSMutableDictionary alloc] init]; NSArray *images = [[NSArray alloc] initWithObjects:@"image1.jpg", @"image2.jpg", @"image3.png", nil]; for (NSInteger i=0; i<[images count]; i++) { NSArray *arr = [images[i] componentsSeparatedByString:@"."]; NSString *tempPath = [[NSBundle mainBundle] pathForResource:arr[0] ofType:arr[1]]; NSData *tempData = [NSData dataWithContentsOfFile:tempPath]; NSArray *param = [[NSArray alloc] initWithObjects:images[i], tempData, nil]; [list setObject:param forKey:[NSString stringWithFormat:@"temp_file[%d]", i]]; } if (![httpRequest setParamAttach:list]) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※setParamAttachオブジェクトに対して多次元配列(key=>array(ファイル名, ファイルデータ))を渡します
※戻り値はBOOL
※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

8.リクエストの送信(NSMutableDictionary(レスポンスはjson形式)で受信)

NSMutableDictionary *ret = [httpRequest sendRespJson]; if ([[httpRequest errorMsg] isEqualToString:@""] == false) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

objective-cを勉強してまだ1ヶ月なので細かいことは大目に見てね(;;´ー`)

これ以外にもレーダーチャート、popover(セレクトボックスっぽいヤツ)、前面にロード中なインジケータを出すヤツとか色々作成中なんだけど、需要があれば公開するかもしれません。

now loading...