Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198
Foundation.framework: Difference between revisions - iPhone Development Wiki

Foundation.framework: Difference between revisions

From iPhone Development Wiki
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 4: Line 4:
}}
}}
This is the basic Objective-C-based framework, used by everything. Provides NSString, NSDictionary, NSArray, ...
This is the basic Objective-C-based framework, used by everything. Provides NSString, NSDictionary, NSArray, ...
It provides many classes that wrap {{fwlink|CoreFoundation}} classes, but also provides unique functionality above and beyond that.


== Mac OS X classes that are undocumented on the iPhoneOS ==
There are several classes that are present on both Mac OS X and iPhoneOS, but the corresponding documentation are not found on the iPhoneOS.
{| class="wikitable"
|-
! Class
! Possible reason for being undocumented
|-
| [http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSAffineTransform_Class/Reference/Reference.html NSAffineTransform]
| CGAffineTransform is used instead.
|-
| [http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSUnarchiver_Class/Reference/Reference.html NSUnarchiver] and [http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSArchiver_Class/Reference/Reference.html NSArchiver]
| Deprecated — use NSKeyedUnarchiver and NSKeyedArchiver instead.
|-
| [http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSPointerFunctions_Class/Introduction/Introduction.html NSPointerFunctions], [http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/NSHashTable_class/Introduction/Introduction.html NSHashTable] and [http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/NSMapTable_class/Reference/NSMapTable.html NSMapTable]
| No garbage collection on iPhoneOS.
|-
| [http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSHost_Class/Reference/Reference.html NSHost]
| Who knows?
|-
| [http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSTask_Class/Reference/Reference.html NSTask]
| SDK-compatible programs are not supposed to open other executables.
|-
| [http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSPortMessage_Class/Reference/Reference.html NSPortMessage]
| SDK-compatible programs are not supposed to perform IPC. (Although NSMessagePort is documented.)
|-
| [http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSProtocolChecker_Class/Reference/Reference.html NSProtocolChecker]
| Distributed objects are not available on the iPhoneOS.
|-
| [http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSURLDownload_Class/Reference/Reference.html NSURLDownload]
| Who knows? (Note that NSURLDownload was not available.)
|}
== Versions ==
{| class="wikitable"
|-
! Firmware
| 2.0    || 2.1    || 2.2    || 3.0    || 3.1    || 3.2    || 4.0    || 4.1    || 4.2    || 4.3
|-
! SourceCache version
| 678.24 || 678.26 || 678.29 || 678.47 || 678.51 || 678.60 || 751.32 || 751.37 || 751.49 || 751.58
|-
! dylib version
| 678.24 || 678.26 || 678.29 || 678.47 || 678.51 || 678.60 || 751.32 || 751.37 || 751.49 || 751.58
|}
== Environment variables ==
Application built with Foundation will recognize the following environment variables
{| class="wikitable"
|-
! Name !! Purpose
|-
| NSDebugEnabled || Enable generic debugging. Application-defined behavior.
|-
| NSHangOnUncaughtException || Hang on uncaught exception instead of crash.
|-
| NSObjCMessageLoggingEnabled || Useless on iPhoneOS.
|-
| NSZombieEnabled<ref name="tn">http://developer.apple.com/mac/library/technotes/tn2004/tn2124.html#SECFOUNDATION</ref><ref>http://www.cocoadev.com/index.pl?NSZombieEnabled</ref><br />NSDeallocateZombies<ref name="tn"/> || Use "zombies" for easier detection on misusing deallocated objects.
|-
| NSEnableAutoreleasePool<ref name="tn"/><br />NSAutoreleaseHighWaterMark<ref name="tn"/><br />NSAutoreleaseHighWaterResolution<ref name="tn"/><br /> NSAutoreleaseFreedObjectCheckEnabled<ref name="tn"/> || Autorelease pool debugging.
|-
| NSUnbufferedIO<ref>http://lists.apple.com/archives/cocoa-dev/2002/Oct/msg00665.html</ref> || Use unbuffered IO stream.
|-
| NSWarnAboutOldStyleArchiverMethods || Warn about old style (non-keyed) archiver methods.
|-
| TMPDIR<br />NEXT_ROOT || Some methods depend on these environment variables.
|}
== References ==
<references />
{{Navbox Classes}}
{{Navbox Frameworks}}
{{Navbox Frameworks}}

Latest revision as of 10:04, 18 March 2011

Foundation.framework
Public Framework
Availabile 1.0 – present
Class Prefix NS
Headers [headers.cynder.me]

This is the basic Objective-C-based framework, used by everything. Provides NSString, NSDictionary, NSArray, ... It provides many classes that wrap CoreFoundation classes, but also provides unique functionality above and beyond that.

Mac OS X classes that are undocumented on the iPhoneOS

There are several classes that are present on both Mac OS X and iPhoneOS, but the corresponding documentation are not found on the iPhoneOS.

Class Possible reason for being undocumented
NSAffineTransform CGAffineTransform is used instead.
NSUnarchiver and NSArchiver Deprecated — use NSKeyedUnarchiver and NSKeyedArchiver instead.
NSPointerFunctions, NSHashTable and NSMapTable No garbage collection on iPhoneOS.
NSHost Who knows?
NSTask SDK-compatible programs are not supposed to open other executables.
NSPortMessage SDK-compatible programs are not supposed to perform IPC. (Although NSMessagePort is documented.)
NSProtocolChecker Distributed objects are not available on the iPhoneOS.
NSURLDownload Who knows? (Note that NSURLDownload was not available.)

Versions

Firmware 2.0 2.1 2.2 3.0 3.1 3.2 4.0 4.1 4.2 4.3
SourceCache version 678.24 678.26 678.29 678.47 678.51 678.60 751.32 751.37 751.49 751.58
dylib version 678.24 678.26 678.29 678.47 678.51 678.60 751.32 751.37 751.49 751.58

Environment variables

Application built with Foundation will recognize the following environment variables

Name Purpose
NSDebugEnabled Enable generic debugging. Application-defined behavior.
NSHangOnUncaughtException Hang on uncaught exception instead of crash.
NSObjCMessageLoggingEnabled Useless on iPhoneOS.
NSZombieEnabled[1][2]
NSDeallocateZombies[1]
Use "zombies" for easier detection on misusing deallocated objects.
NSEnableAutoreleasePool[1]
NSAutoreleaseHighWaterMark[1]
NSAutoreleaseHighWaterResolution[1]
NSAutoreleaseFreedObjectCheckEnabled[1]
Autorelease pool debugging.
NSUnbufferedIO[3] Use unbuffered IO stream.
NSWarnAboutOldStyleArchiverMethods Warn about old style (non-keyed) archiver methods.
TMPDIR
NEXT_ROOT
Some methods depend on these environment variables.

References