ページ

2010年1月24日日曜日

今週のCocoa情報(1/24) - 今週気になった Cocoaプログラミング情報の紹介

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

Hide instance variable from header file in Objective C
http://stackoverflow.com/questions/2103858/hide-instance-variable-from-header-file-in-objective-c

下記のようなコードの書き方(メンバ変数が定義されていないがプロパティ宣言している)。

@interface MyClass : MySuperClass 
{ 
    //nothing here
}

@property (nonatomic, retain) MyObject anObject;
- (void)someMethod;
64bit アプリと iPhone(実機)のみできるらしい。


cocoa_crypto_hashing
http://projects.stoneship.org/hg/cocoa_crypto_hashing/

NSData, NSString 用 MD5/SHA-1ライブラリ


How to flip coordinates when drawing in context?
http://stackoverflow.com/questions/1145595/how-to-flip-coordinates-when-drawing-in-context

CG系関数を使っている時のフリップ方法。


CGContextTranslateCTM(bitmapContext, 0.0f, originalImage.size.height);
CGContextScaleCTM(bitmapContext, 1.0f, -1.0f);


なお NS系の場合は NSAffintransform が使える。
(参考)NSImage の isFlipped/setFlipped: が Deprecated


NSWorkspace Class Reference
http://developer.apple.com/Mac/library/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWorkspace_Class/Reference/Reference.html

Mac OS X v10.6 でメソッドの追加と廃止(Deprecated)が結構あったようだ。

メソッド追加

デスクトップ関係
- desktopImageOptionsForScreen:
- desktopImageURLForScreen:
- setDesktopImageURL:forScreen:options:error:

Finder連携
- activateFileViewerSelectingURLs:
- fileLabelColors
- fileLabels
- duplicateURLs:completionHandler:
- recycleURLs:completionHandler:
- showSearchResultsForQueryString:

アプリ管理系
- launchApplicationAtURL:options:configuration:error:
- runningApplications
- URLForApplicationToOpenURL:
- URLForApplicationWithBundleIdentifier:

ディスク系
- unmountAndEjectDeviceAtURL:error:

ファインダとの連携が進んだようだ(ラベル操作、スポットライト連携)。デスクトップイメージの取得、設定もできるようになったようだ。その他、気になる機能がいろいろある。後日検証してみたい。


メソッド廃止(Deprecated)
- slideImage:from:to:
- fileSystemChanged
- noteFileSystemChanged
- findApplications
- noteUserDefaultsChanged
- userDefaultsChanged
- checkForRemovableMedia
- mountNewRemovableMedia


通知追加
NSWorkspaceDidHideApplicationNotification
NSWorkspaceDidUnhideApplicationNotification
NSWorkspaceDidActivateApplicationNotification
NSWorkspaceDidDeactivateApplicationNotification
NSWorkspaceDidRenameVolumeNotification
NSWorkspaceDidChangeFileLabelsNotification
NSWorkspaceActiveSpaceDidChangeNotification
NSWorkspaceScreensDidSleepNotification
NSWorkspaceScreensDidWakeNotification

受け取れる通知もいろいろ増えている。