FoundationとCore Foundation(3)

2010. 03. 18
●Foundationが提供する機能

先に述べたように、Foundationフレームワークの機能は多岐に渡っているため、系統立てて話すのも難しいんですが、深追いせずに広く浅く拾っていきたいと思います。
(前回のCore Foundationで半日潰した挙げ句、頭に何も入らなかったので・・・)

●MutableとImmutable

後述する一覧を見ると分かりますが、Foundationのクラスには『NS~』とそのサブクラスとして『NSMutable~』というのがよくあります。

mutableは可変という意味で、生成したインスタンスに後から変更ができるもの。
無印(immutable)は固定で、インスタンスの中身が変更できないものです。

●Foundationフレームワーク

まずは全体像として、『Foundation Framework Reference』にあるFoundationフレームワークのクラスリファレンス一覧を示します。

左側にカテゴリ、右側にクラスが有り、サブクラスがある場合は欄を分割しています。

Value Objects
(数値、日付、時間) 
NSCalendar
NSDataNSMutableData
NSDate
NSDateComponents
NSDecimalNumberHandler
NSLocale
NSNull
NSTimeZone
NSValueNSNumberNSDecimalNumber
NSValueTransformer
XMLNSXMLParser
Strings
(文字列) 
NSCharacterSetNSMutableCharacterSet
NSStringNSMutableString
NSFormatterNSDateFormatter
NSNumberFormatter
NSScanner
NSSortDescriptor
Collections
(配列、集合) 
NSArrayNSMutableArray
NSDictionaryNSMutableDictionary
NSEnumeratorNSDirectoryEnumerator
NSIndexPath
NSIndexSetNSMutableIndexSet
NSSetNSMutableSetNSCountedSet
Predicates
(抽出条件) 
NSExpression
NSPredicateNSComparisonPredicate
NSCompoundPredicate
Operating
-System
Services
-NSError
NSNetService
NSNetServiceBrowser
NSProcessInfo
NSRunLoop
NSTimer
NSUserDefaults
File System
(ファイル管理) 
NSBundle
NSFileHandle
NSFileManager
NSStreamNSInputStream
NSOutputStream
URLNSCachedURLResponse
NSHTTPCookie
NSHTTPCookieStorage
NSURL
NSAuthenticationChallenge
NSURLCache
NSURLConnection
NSURLCredential
NSURLCredentialStorage
NSURLProtectionSpace
NSURLProtocol
NSURLRequestNSMutableURLRequest
NSURLResponseNSHTTPURLResponse
Interprocess Communication
(プロセス間通信)
NSPipe
NSPortNSMachPort 
NSMessagePort
Locking/Threading
(スレッド制御) 
NSConditionLock
NSLock
NSOperationNSInvocationOperation
NSOperationQueue
NSRecursiveLock
NSThread
Notifications
(通知) 
NSNotification
NSNotificationCenterNSDistributedNotificationCenter
NSNotificationQueue
Archiving and Serialization
(圧縮、直列化) 
NSCoderNSKeyedArchiver
NSKeyedUnarchiver
NSPropertyListSerialization
Objective-C Language ServicesNSAssertionHandler
NSAutoreleasePool
NSException
NSInvocation
NSMethodSignature
NSUndoManager

IntroductionのFigure I-1  Cocoa Objective-C Hierarchy for Foundationと付き合わせてみたところ、差異がありましたので列挙します。

この図では青い部分がiPhone/Mac OS X両対応、グレイの部分がMac OS X専用との注意書きがありますが、iPhone/Mac OS X両対応と示しているクラスで、トップページの一覧には無いクラスがいくつかあります。

・NSAffineTransform
・NSCache
・NSPurgeableData
・NSCalendarDate
・NSHost
・NSOrthography
・NSTextCheckingResult
・NSURLDownload
・NSDistributedLock
・NSBlockOperation
・NSTask
・NSArchiver
・NSUnarchiver
・NSClassDescription

iPhone Dev CenterとMac Dev Centerで検索してみましたが、おそらくこれらのクラスはiPhone OSでは使えないクラスと思われます(多分)。

逆に一覧にあって、図で示されていないクラスもあります。

・NSCondition
・NSProxy

また、図の表記に誤字がありました。

図)NSURLAuthorizationChallenge ×
表)NSURLAuthenticationChallenge ○



参考文献

Foundation Framework Reference

Core Foundation Framework Reference

iPhone SDK 3 プログラミング大全 実践プログラミング (MacPeople Books)iPhone SDK 3 プログラミング大全 実践プログラミング (MacPeople Books)
(2009/09/08)
木下 誠

商品詳細を見る






Bose QuietComfort 20
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
08 | 2017/09 | 10
Sun Mon Tue Wed Thu Fri Sat
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Bose QuietComfort 20
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR