2011.04.25 Monday
スポンサーサイト
この広告は60日以上更新がないブログに表示されております。
新しい記事を書くことで広告を消すことができます。
新しい記事を書くことで広告を消すことができます。
| - | | - | - |
ls -lTU *.MOV | php -R 'var_dump($argn);preg_match_all("/(?:¥s+(¥S+))/",$argn,$parts);var_dump($parts);$date=@date("Ymd_His",strtotime("{$parts[1][7]}-{$parts[1][4]}-{$parts[1][5]} {$parts[1][6]}")); var_dump($date);$cmd = ("ffmpeg -y -i {$parts[1][8]} -vcodec copy -acodec copy {$date}.mp4");var_dump($cmd);$e = system($cmd); var_dump($e); return $e;'
- (void)anotherMethod:(void (^)(void))anotherBlock {[[block copy] autorelease] で渡せばok。
[self performSelector:@selector(myMehod:) withObject:[[anotherBlock copy] autorelease] afterDelay:2.0f];
}
- (void)myMehod:(void (^)(void))myBlock {
myBlock();
}
#pragma mark -
-(IBAction)pushButton:(id)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.delegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
}
#pragma mark -
#pragma mark UIImagePickerControllerDelegate Methods
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSLog(@"%@",info);
NSURL *assetURL = [info objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:assetURL
resultBlock:^(ALAsset *asset) {
ALAssetRepresentation *representation = [asset defaultRepresentation];
NSDictionary *metadataDict = [representation metadata]; // ←ここにExifとかGPSの情報が入ってる
NSLog(@"%@",metadataDict);
} failureBlock:^(NSError *error) {
NSLog(@"%@",error);
}];
[library release];
}
#import <Foundation/Foundation.h>
@interface Sample : NSObject {
NSMutableArray *privateArray;
}
@property (nonatomic,retain) NSMutableArray *privateArray;
@end
- (void)someMethod:(id)someObj {でも、@propertyを使用せずにメンバ変数としてアクセスするとたまにミスっちゃうので困る。
Sample *sample = [[[Sample alloc] init] autorelease];
sample.privateArray = nil; // こんなことされたら非常に困る
}
- (void)childMethod {
// 2回目に呼ばれた時に以前の物をリリースしてないのでリークする
// しかも静的アナライザでも検出できない
privateArray = [[NSMutableArray alloc] init];
}
- (void)parentMethode {
[self childMethod];
[self childMethod];
}
#import <Foundation/Foundation.h>Sample.m
@interface Sample : NSObject {
NSMutableArray *privateArray;
}
@end
#import "Sample.h"@property を retain にしておけば dealloc で nil を代入するのさえ忘れなければリークする事がないので安心。
@interface Sample () // カテゴリ名を設定しない
@property (nonatomic,retain) NSMutableArray *privateArray;
@end
@implementation Sample
@synthesize privateArray;
- (id) init {
self = [super init];
if (self != nil) {
// retain で宣言されているので自動的に retain されるので
// autorelease をつける必要がある
self.privateArray = [[[NSMutableArray alloc] init] autorelease];
}
return self;
}
- (void) dealloc {
// retain で宣言されているので nil を代入すると release される
self.privateArray = nil;
[super dealloc];
}
- (void)childMethod {
// release せずに代入しても自動的に以前のオブジェクトの release と
// 新しいオブジェクトの retain をしてくれる。
self.privateArray = [[[NSMutableArray alloc] init] autorelease];
}
- (void)parentMethode {
[self childMethod];
[self childMethod];
}
@end
----
3.1.1の新しい機能。
・Safariから「shttp://google.com/」でSBrowserが起動します。
・ジェスチャーでの操作のショートカット
・個体識別情報をランダムに自動設定できます。
----
・ナビゲーションバーで右にスワイプ→リスト画面に戻る
・ツールバーで右にスワイプ→ページを進む、左にスワイプ→ページを戻る、上にスワイプ→ページをリロードする
-(void)setup {
// swipeで様々なショートカットを割り付ける
UISwipeGestureRecognizer *rec;
rec = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeNavigationBar:)];
[self.navigationController.navigationBar addGestureRecognizer:rec];
[rec release];
rec = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeToolBarRight:)];
[rec setDirection:UISwipeGestureRecognizerDirectionRight];
[self.navigationController.toolbar addGestureRecognizer:rec];
[rec release];
rec = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeToolBarLeft:)];
[rec setDirection:UISwipeGestureRecognizerDirectionLeft];
[self.navigationController.toolbar addGestureRecognizer:rec];
[rec release];
rec = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeToolBarUp:)];
[rec setDirection:UISwipeGestureRecognizerDirectionUp];
[self.navigationController.toolbar addGestureRecognizer:rec];
[rec release];
}
// ジェスチャに対応したメソッド
-(void)swipeToolBarRight:(UISwipeGestureRecognizer *)gestureRecognizer {
[webView goForward];
}
// …他にも同様のメソッド
for (UISwipeGestureRecognizer *rec in [self.navigationController.toolbar gestureRecognizers]) {なお、今回利用したのは UISwipeGestureRecognizer だけだが、その他にも以下のような種類がある。様々なシーンで使用できるだろう。
[self.navigationController.toolbar removeGestureRecognizer:rec];
}
for (UISwipeGestureRecognizer *rec in [self.navigationController.navigationBar gestureRecognizers]) {
[self.navigationController.toolbar removeGestureRecognizer:rec];
}
UILongPressGestureRecognizerUIGestureRecognizer に関する Apple のリファレンスはこちら。
UIPanGestureRecognizer
UIPinchGestureRecognizer
UIRotationGestureRecognizer
UISwipeGestureRecognizer
UITapGestureRecognizer
Yahoo!ニュース 音楽「マソソソ・マソソソからマソソソ・マソソソが脱退表明」
12月25日、アメリカの有名ロックバンド、マソソソ・マソソソからボーカルのマソソソ・マソソソが脱退するという意向を表明した。
マソソソ・マソソソは89年にマソソソ・マソソソとしてデビューし、「メカニカル・アニマルズ」などのヒット作を生んだロックシンガー。
またマソソソ・マソソソはマソソソ・マソソソの奇抜さと挑発的なパフォーマンスでも有名なバンドで、特にマソソソ・マソソソの宗教批判は団体からの数々のバッシングを受けるほどである。
マソソソ・マソソソのギタリスト、ティム・スコールドは「マソソソ・マソソソからマソソソ・マソソソが抜けると現時点での断言はできないが、マソソソ・マソソソ自身がマソソソ・マソソソを抜けるというなら、俺達マソソソ・マソソソはそれを受け入れるしかないよ」と語った。マソソソ・マソソソのマソソソ・マソソソ脱退後、マソソソ・マソソソはマソソソ・マソソソという名をマソソソ・マソソソに譲るのかどうかは未だ不明である。
オレとしてはマソソソ・マソソソよりもマソソソ・マソソソの意志を尊重すべきだと思うな。マソソソ・マソソソがマソソソ・マソソソから脱退するんならもはやマソソソ・マソソソはマソソソ・マソソソではなく、マソソソ・マソソソだけがマソソソ・マソソソを名乗ることができるわけだし。
Application names cannot contain control characters. Control characters include null, new lines, carriage returns, escape and other invisible characters.
. @sumihiro すでにあれかもだけど、What's newを一行でとかw http://d.hatena.ne.jp/ancou/20100119/p1そんなアホなと思いながらもやってみたら見事に通った。
