NSObject
NSObject корневой класс большинства иерархий классов Objective C. Через NSObject, объекты наследовали основной интерфейс к системе во время выполнения и возможности вести себя, поскольку возражает Objective C.
Наследование
-
NSObject -
ABAddressBook -
ABMultiValue -
ABRecord -
ABSearchElement -
ACAccount -
ACAccountCredential -
ACAccountStore -
ACAccountType -
AMAction -
AMWorkflow -
ASKPluginObject -
AVAsset -
AVAssetExportSession -
AVAssetImageGenerator -
AVAssetReader -
AVAssetReaderOutput -
AVAssetReaderOutputMetadataAdaptor -
AVAssetResourceLoader -
AVAssetResourceLoadingContentInformationRequest -
AVAssetResourceLoadingDataRequest -
AVAssetResourceLoadingRequest -
AVAssetTrack -
AVAssetTrackGroup -
AVAssetTrackSegment -
AVAssetWriter -
AVAssetWriterInput -
AVAssetWriterInputMetadataAdaptor -
AVAssetWriterInputPassDescription -
AVAssetWriterInputPixelBufferAdaptor -
AVAsynchronousVideoCompositionRequest -
AVAudioBuffer -
AVAudioChannelLayout -
AVAudioEngine -
AVAudioEnvironmentDistanceAttenuationParameters -
AVAudioEnvironmentReverbParameters -
AVAudioFile -
AVAudioFormat -
AVAudioMix -
AVAudioMixInputParameters -
AVAudioNode -
AVAudioPlayer -
AVAudioRecorder -
AVAudioTime -
AVAudioUnitComponent -
AVAudioUnitComponentManager -
AVAudioUnitEQFilterParameters -
AVB17221ACMPMessage -
AVB17221AECPAddressAccessTLV -
AVB17221AECPMessage -
AVB17221Entity -
AVB17221EntityDiscovery -
AVB1722ControlInterface -
AVBCentralManager -
AVBInterface -
AVBMACAddress -
AVCaptureAudioChannel -
AVCaptureConnection -
AVCaptureDevice -
AVCaptureDeviceFormat -
AVCaptureDeviceInputSource -
AVCaptureInput -
AVCaptureInputPort -
AVCaptureOutput -
AVCaptureSession -
AVFragmentedMovieMinder -
AVFrameRateRange -
AVMediaSelectionGroup -
AVMediaSelectionOption -
AVMetadataItem -
AVMetadataItemFilter -
AVMetadataObject -
AVMIDIPlayer -
AVOutputSettingsAssistant -
AVPlayer -
AVPlayerItem -
AVPlayerItemAccessLog -
AVPlayerItemAccessLogEvent -
AVPlayerItemErrorLog -
AVPlayerItemErrorLogEvent -
AVPlayerItemOutput -
AVPlayerItemTrack -
AVPlayerMediaSelectionCriteria -
AVSampleBufferGenerator -
AVSampleBufferRequest -
AVSampleCursor -
AVTextStyleRule -
AVTimedMetadataGroup -
AVVideoComposition -
AVVideoCompositionCoreAnimationTool -
AVVideoCompositionInstruction -
AVVideoCompositionLayerInstruction -
AVVideoCompositionRenderContext -
CAAnimation -
CAConstraint -
CAConstraintLayoutManager -
CAEmitterBehavior -
CAEmitterCell -
CalAlarm -
CalAttendee -
CALayer -
CalCalendar -
CalCalendarItem -
CalCalendarStore -
CalNthWeekDay -
CalRecurrenceEnd -
CalRecurrenceRule -
CAMediaTimingFunction -
CARemoteLayerClient -
CARemoteLayerServer -
CARenderer -
CATransaction -
CAValueFunction -
CBATTRequest -
CBCentral -
CBCentralManager -
CBCharacteristic -
CBDescriptor -
CBIdentity -
CBIdentityAuthority -
CBIdentityPicker -
CBPeripheral -
CBPeripheralManager -
CBService -
CBUUID -
CIColor -
CIContext -
CIDetector -
CIFeature -
CIFilter -
CIFilterGenerator -
CIFilterShape -
CIImage -
CIImageAccumulator -
CIKernel -
CIPlugIn -
CISampler -
CIVector -
CKAsset -
CKContainer -
CKDatabase -
CKDiscoveredUserInfo -
CKNotification -
CKNotificationID -
CKNotificationInfo -
CKQuery -
CKQueryCursor -
CKRecord -
CKRecordID -
CKRecordZone -
CKRecordZoneID -
CKReference -
CKServerChangeToken -
CKSubscription -
CLGeocoder -
CLHeading -
CLLocation -
CLLocationManager -
CLPlacemark -
CLRegion -
CWChannel -
CWConfiguration -
CWInterface -
CWNetwork -
CWNetworkProfile -
CWWiFiClient -
DRBurn -
DRCDTextBlock -
DRDevice -
DRErase -
DRFSObject -
DRNotificationCenter -
DRTrack -
EKEventStore -
EKObject -
EKRecurrenceDayOfWeek -
EKRecurrenceEnd -
FIFinderSync -
GCController -
GCControllerElement -
GCExtendedGamepad -
GCGamepad -
GCMotion -
GKAchievement -
GKAchievementDescription -
GKChallenge -
GKChallengeEventHandler -
GKInvite -
GKLeaderboard -
GKLeaderboardSet -
GKMatch -
GKMatchmaker -
GKMatchRequest -
GKNotificationBanner -
GKPlayer -
GKSavedGame -
GKScore -
GKSession -
GKTurnBasedEventHandler -
GKTurnBasedExchange -
GKTurnBasedExchangeReply -
GKTurnBasedMatch -
GKTurnBasedParticipant -
GKVoiceChat -
GLKBaseEffect -
GLKEffectProperty -
GLKSkyboxEffect -
GLKTextureInfo -
GLKTextureLoader -
ICCameraItem -
ICDevice -
ICDeviceBrowser -
ICScannerBandData -
ICScannerFeature -
ICScannerFunctionalUnit -
IKImageBrowserCell -
IKSaveOptions -
IKSlideshow -
IMAVControl -
IMAVControlBar -
IMAVManager -
IMKInputController -
IMKServer -
IMServicePlugInMessage -
InstallerPane -
InstallerSection -
InstallerState -
IOBluetoothDeviceInquiry -
IOBluetoothDevicePair -
IOBluetoothHandsFree -
IOBluetoothHostController -
IOBluetoothObject -
IOBluetoothSDPDataElement -
IOBluetoothSDPServiceAttribute -
IOBluetoothSDPServiceRecord -
IOBluetoothUserNotification -
ISyncChange -
ISyncClient -
ISyncFilter -
ISyncManager -
ISyncRecordReference -
ISyncRecordSnapshot -
ISyncSession -
ISyncSessionDriver -
JSContext -
JSManagedValue -
JSValue -
JSVirtualMachine -
LAContext -
MCAdvertiserAssistant -
MCNearbyServiceAdvertiser -
MCNearbyServiceBrowser -
MCPeerID -
MCSession -
MKDirections -
MKDirectionsRequest -
MKDirectionsResponse -
MKETAResponse -
MKLocalSearch -
MKLocalSearchRequest -
MKLocalSearchResponse -
MKMapCamera -
MKMapItem -
MKMapSnapshot -
MKMapSnapshotOptions -
MKMapSnapshotter -
MKOverlayRenderer -
MKRoute -
MKRouteStep -
MKShape -
MKTileOverlay -
MKUserLocation -
MLMediaGroup -
MLMediaLibrary -
MLMediaObject -
MLMediaSource -
NCWidgetController -
NSAccessibilityElement -
NSAffineTransform -
NSAlert -
NSAnimation -
NSAnimationContext -
NSAppearance -
NSAppleEventDescriptor -
NSAppleEventManager -
NSAppleScript -
NSArray -
NSAssertionHandler -
NSAtomicStoreCacheNode -
NSAttributedString -
NSBackgroundActivityScheduler -
NSBezierPath -
NSBundle -
NSCache -
NSCachedURLResponse -
NSCalendar -
NSCell -
NSCharacterSet -
NSClassDescription -
NSCoder -
NSColor -
NSColorList -
NSColorPicker -
NSColorSpace -
NSCondition -
NSConditionLock -
NSController -
NSCursor -
NSData -
NSDate -
NSDateComponents -
NSDecimalNumberHandler -
NSDictionary -
NSDistributedLock -
NSDockTile -
NSDocument -
NSDocumentController -
NSDraggingImageComponent -
NSDraggingItem -
NSDraggingSession -
NSEntityDescription -
NSEntityMapping -
NSEntityMigrationPolicy -
NSEnumerator -
NSError -
NSEvent -
NSException -
NSExceptionHandler -
NSExpression -
NSExtensionContext -
NSExtensionItem -
NSFileAccessIntent -
NSFileCoordinator -
NSFileHandle -
NSFileManager -
NSFileSecurity -
NSFileVersion -
NSFileWrapper -
NSFont -
NSFontCollection -
NSFontDescriptor -
NSFontManager -
NSFormatter -
NSGestureRecognizer -
NSGlyphGenerator -
NSGlyphInfo -
NSGradient -
NSGraphicsContext -
NSHashTable -
NSHelpManager -
NSHost -
NSHTTPCookie -
NSHTTPCookieStorage -
NSImage -
NSImageRep -
NSIncrementalStoreNode -
NSIndexPath -
NSIndexSet -
NSItemProvider -
NSJSONSerialization -
NSLayoutConstraint -
NSLayoutManager -
NSLinguisticTagger -
NSLocale -
NSLock -
NSManagedObject -
NSManagedObjectContext -
NSManagedObjectID -
NSManagedObjectModel -
NSMappingModel -
NSMapTable -
NSMediaLibraryBrowserController -
NSMenu -
NSMenuItem -
NSMergeConflict -
NSMergePolicy -
NSMetadataItem -
NSMetadataQuery -
NSMetadataQueryAttributeValueTuple -
NSMetadataQueryResultGroup -
NSMigrationManager -
NSNetService -
NSNetServiceBrowser -
NSNib -
NSNotification -
NSNotificationCenter -
NSNotificationQueue -
NSNull -
NSOpenGLContext -
NSOpenGLPixelFormat -
NSOperation -
NSOperationQueue -
NSOrderedSet -
NSOrthography -
NSPageLayout -
NSParagraphStyle -
NSPasteboard -
NSPasteboardItem -
NSPathControlItem -
NSPDFInfo -
NSPDFPanel -
NSPersistentStore -
NSPersistentStoreCoordinator -
NSPersistentStoreRequest -
NSPersistentStoreResult -
NSPipe -
NSPointerArray -
NSPointerFunctions -
NSPort -
NSPortMessage -
NSPositionalSpecifier -
NSPredicate -
NSPredicateEditorRowTemplate -
NSPreferencePane -
NSPrinter -
NSPrintInfo -
NSPrintOperation -
NSPrintPanel -
NSProcessInfo -
NSProgress -
NSPropertyDescription -
NSPropertyListSerialization -
NSPropertyMapping -
NSRecursiveLock -
NSRegularExpression -
NSResponder -
NSRulerMarker -
NSRunLoop -
NSRunningApplication -
NSScanner -
NSScreen -
NSScriptCoercionHandler -
NSScriptCommand -
NSScriptCommandDescription -
NSScriptExecutionContext -
NSScriptObjectSpecifier -
NSScriptSuiteRegistry -
NSScriptWhoseTest -
NSSet -
NSShadow -
NSSharingService -
NSSharingServicePicker -
NSSortDescriptor -
NSSound -
NSSpeechRecognizer -
NSSpeechSynthesizer -
NSSpellChecker -
NSSpellServer -
NSSplitViewItem -
NSStatusBar -
NSStatusItem -
NSStoryboard -
NSStoryboardSegue -
NSStream -
NSString -
NSTableColumn -
NSTabViewItem -
NSTask -
NSTextAlternatives -
NSTextAttachment -
NSTextBlock -
NSTextCheckingResult -
NSTextContainer -
NSTextFinder -
NSTextInputContext -
NSTextList -
NSTextTab -
NSThread -
NSTimer -
NSTimeZone -
NSToolbar -
NSToolbarItem -
NSTouch -
NSTrackingArea -
NSTreeNode -
NSTypesetter -
NSUbiquitousKeyValueStore -
NSUndoManager -
NSURL -
NSURLAuthenticationChallenge -
NSURLCache -
NSURLComponents -
NSURLConnection -
NSURLCredential -
NSURLCredentialStorage -
NSURLDownload -
NSURLHandle -
NSURLProtectionSpace -
NSURLProtocol -
NSURLQueryItem -
NSURLRequest -
NSURLResponse -
NSURLSession -
NSURLSessionConfiguration -
NSURLSessionTask -
NSUserActivity -
NSUserDefaults -
NSUserNotification -
NSUserNotificationAction -
NSUserNotificationCenter -
NSUserScriptTask -
NSUUID -
NSValue -
NSValueTransformer -
NSWorkspace -
NSXMLNode -
NSXMLParser -
NSXPCConnection -
NSXPCInterface -
NSXPCListener -
NSXPCListenerEndpoint -
OBEXFileTransferServices -
OBEXSession -
ODAttributeMap -
ODConfiguration -
ODMappings -
ODModuleEntry -
ODNode -
ODQuery -
ODRecord -
ODRecordMap -
ODSession -
OSALanguage -
OSALanguageInstance -
OSAScript -
PDFAction -
PDFAnnotation -
PDFBorder -
PDFDestination -
PDFDocument -
PDFOutline -
PDFPage -
PDFSelection -
QCComposition -
QCCompositionRepository -
QCPlugIn -
QCRenderer -
QTCaptureConnection -
QTCaptureDevice -
QTCaptureInput -
QTCaptureOutput -
QTCaptureSession -
QTCompressionOptions -
QTDataReference -
QTFormatDescription -
QTMedia -
QTMetadataItem -
QTMovie -
QTMovieModernizer -
QTSampleBuffer -
QTTrack -
QuartzFilter -
QuartzFilterManager -
SBObject -
SCNAction -
SCNAnimationEvent -
SCNCamera -
SCNConstraint -
SCNGeometry -
SCNGeometryElement -
SCNGeometrySource -
SCNHitTestResult -
SCNLevelOfDetail -
SCNLight -
SCNMaterial -
SCNMaterialProperty -
SCNMorpher -
SCNNode -
SCNParticlePropertyController -
SCNParticleSystem -
SCNPhysicsBehavior -
SCNPhysicsBody -
SCNPhysicsContact -
SCNPhysicsField -
SCNPhysicsShape -
SCNPhysicsVehicleWheel -
SCNPhysicsWorld -
SCNProgram -
SCNRenderer -
SCNScene -
SCNSceneSource -
SCNSkinner -
SCNTechnique -
SCNTransaction -
SFAuthorization -
SKAction -
SKConstraint -
SKDownload -
SKKeyframeSequence -
SKPayment -
SKPaymentQueue -
SKPaymentTransaction -
SKPhysicsBody -
SKPhysicsContact -
SKPhysicsJoint -
SKPhysicsWorld -
SKProduct -
SKProductsResponse -
SKRange -
SKReachConstraints -
SKRegion -
SKRequest -
SKShader -
SKTexture -
SKTextureAtlas -
SKTransition -
SKUniform -
SLRequest -
TKSmartCard -
TKSmartCardATR -
TKSmartCardATRInterfaceGroup -
TKSmartCardSlot -
TKSmartCardSlotManager -
WebArchive -
WebBackForwardList -
WebDataSource -
WebFrame -
WebHistory -
WebHistoryItem -
WebPreferences -
WebResource -
WebScriptObject -
WebUndefined -
WKBackForwardList -
WKBackForwardListItem -
WKFrameInfo -
WKNavigation -
WKNavigationAction -
WKNavigationResponse -
WKPreferences -
WKProcessPool -
WKScriptMessage -
WKUserContentController -
WKUserScript -
WKWebViewConfiguration -
WKWindowFeatures
-
NSObject -
ABAddressBook -
ABMultiValue -
ABPersonPicker -
ABRecord -
ABSearchElement -
ACAccount -
ACAccountCredential -
ACAccountStore -
ACAccountType -
AMAction -
AMWorkflow -
ASKPluginObject -
AVAsset -
AVAssetExportSession -
AVAssetImageGenerator -
AVAssetReader -
AVAssetReaderOutput -
AVAssetReaderOutputMetadataAdaptor -
AVAssetResourceLoader -
AVAssetResourceLoadingContentInformationRequest -
AVAssetResourceLoadingDataRequest -
AVAssetResourceLoadingRequest -
AVAssetTrack -
AVAssetTrackGroup -
AVAssetTrackSegment -
AVAssetWriter -
AVAssetWriterInput -
AVAssetWriterInputMetadataAdaptor -
AVAssetWriterInputPassDescription -
AVAssetWriterInputPixelBufferAdaptor -
AVAsynchronousVideoCompositionRequest -
AVAudioBuffer -
AVAudioChannelLayout -
AVAudioEngine -
AVAudioEnvironmentDistanceAttenuationParameters -
AVAudioEnvironmentReverbParameters -
AVAudioFile -
AVAudioFormat -
AVAudioMix -
AVAudioMixInputParameters -
AVAudioNode -
AVAudioPlayer -
AVAudioRecorder -
AVAudioTime -
AVAudioUnitComponent -
AVAudioUnitComponentManager -
AVAudioUnitEQFilterParameters -
AVB17221ACMPMessage -
AVB17221AECPAddressAccessTLV -
AVB17221AECPMessage -
AVB17221Entity -
AVB17221EntityDiscovery -
AVB1722ControlInterface -
AVBCentralManager -
AVBInterface -
AVBMACAddress -
AVCaptureAudioChannel -
AVCaptureConnection -
AVCaptureDevice -
AVCaptureDeviceFormat -
AVCaptureDeviceInputSource -
AVCaptureInput -
AVCaptureInputPort -
AVCaptureOutput -
AVCaptureSession -
AVFragmentedMovieMinder -
AVFrameRateRange -
AVMediaSelectionGroup -
AVMediaSelectionOption -
AVMetadataItem -
AVMetadataItemFilter -
AVMetadataObject -
AVMIDIPlayer -
AVOutputSettingsAssistant -
AVPlayer -
AVPlayerItem -
AVPlayerItemAccessLog -
AVPlayerItemAccessLogEvent -
AVPlayerItemErrorLog -
AVPlayerItemErrorLogEvent -
AVPlayerItemOutput -
AVPlayerItemTrack -
AVPlayerMediaSelectionCriteria -
AVSampleBufferGenerator -
AVSampleBufferRequest -
AVSampleCursor -
AVTextStyleRule -
AVTimedMetadataGroup -
AVVideoComposition -
AVVideoCompositionCoreAnimationTool -
AVVideoCompositionInstruction -
AVVideoCompositionLayerInstruction -
AVVideoCompositionRenderContext -
CAAnimation -
CAConstraint -
CAConstraintLayoutManager -
CAEmitterBehavior -
CAEmitterCell -
CalAlarm -
CalAttendee -
CALayer -
CalCalendar -
CalCalendarItem -
CalCalendarStore -
CalNthWeekDay -
CalRecurrenceEnd -
CalRecurrenceRule -
CAMediaTimingFunction -
CARemoteLayerClient -
CARemoteLayerServer -
CARenderer -
CATransaction -
CAValueFunction -
CBATTRequest -
CBCentral -
CBCentralManager -
CBCharacteristic -
CBDescriptor -
CBIdentity -
CBIdentityAuthority -
CBIdentityPicker -
CBPeripheral -
CBPeripheralManager -
CBService -
CBUUID -
CIColor -
CIContext -
CIDetector -
CIFeature -
CIFilter -
CIFilterGenerator -
CIFilterShape -
CIImage -
CIImageAccumulator -
CIKernel -
CIPlugIn -
CISampler -
CIVector -
CKAsset -
CKContainer -
CKDatabase -
CKDiscoveredUserInfo -
CKNotification -
CKNotificationID -
CKNotificationInfo -
CKQuery -
CKQueryCursor -
CKRecord -
CKRecordID -
CKRecordZone -
CKRecordZoneID -
CKReference -
CKServerChangeToken -
CKSubscription -
CLGeocoder -
CLHeading -
CLLocation -
CLLocationManager -
CLPlacemark -
CLRegion -
CWChannel -
CWConfiguration -
CWInterface -
CWNetwork -
CWNetworkProfile -
CWWiFiClient -
DRBurn -
DRCDTextBlock -
DRDevice -
DRErase -
DRFSObject -
DRNotificationCenter -
DRTrack -
EKEventStore -
EKObject -
EKRecurrenceDayOfWeek -
EKRecurrenceEnd -
FIFinderSync -
GCController -
GCControllerElement -
GCExtendedGamepad -
GCGamepad -
GCMotion -
GKAchievement -
GKAchievementDescription -
GKChallenge -
GKChallengeEventHandler -
GKInvite -
GKLeaderboard -
GKLeaderboardSet -
GKMatch -
GKMatchmaker -
GKMatchRequest -
GKNotificationBanner -
GKPlayer -
GKSavedGame -
GKScore -
GKSession -
GKTurnBasedEventHandler -
GKTurnBasedExchange -
GKTurnBasedExchangeReply -
GKTurnBasedMatch -
GKTurnBasedParticipant -
GKVoiceChat -
GLKBaseEffect -
GLKEffectProperty -
GLKSkyboxEffect -
GLKTextureInfo -
GLKTextureLoader -
ICCameraItem -
ICDevice -
ICDeviceBrowser -
ICScannerBandData -
ICScannerFeature -
ICScannerFunctionalUnit -
IKImageBrowserCell -
IKSaveOptions -
IKSlideshow -
IMAVControl -
IMAVControlBar -
IMAVManager -
IMKInputController -
IMKServer -
IMService -
IMServicePlugInFileTransfer -
IMServicePlugInFileTransferSession -
IMServicePlugInMessage -
InstallerPane -
InstallerSection -
InstallerState -
IOBluetoothDeviceInquiry -
IOBluetoothDevicePair -
IOBluetoothHandsFree -
IOBluetoothHostController -
IOBluetoothObject -
IOBluetoothSDPDataElement -
IOBluetoothSDPServiceAttribute -
IOBluetoothSDPServiceRecord -
IOBluetoothUserNotification -
ISyncChange -
ISyncClient -
ISyncFilter -
ISyncManager -
ISyncRecordReference -
ISyncRecordSnapshot -
ISyncSession -
ISyncSessionDriver -
JSContext -
JSManagedValue -
JSValue -
JSVirtualMachine -
LAContext -
MCAdvertiserAssistant -
MCNearbyServiceAdvertiser -
MCNearbyServiceBrowser -
MCPeerID -
MCSession -
MKDirections -
MKDirectionsRequest -
MKDirectionsResponse -
MKETAResponse -
MKLocalSearch -
MKLocalSearchRequest -
MKLocalSearchResponse -
MKMapCamera -
MKMapItem -
MKMapSnapshot -
MKMapSnapshotOptions -
MKMapSnapshotter -
MKOverlayRenderer -
MKRoute -
MKRouteStep -
MKShape -
MKTileOverlay -
MKUserLocation -
MLMediaGroup -
MLMediaLibrary -
MLMediaObject -
MLMediaSource -
NCWidgetController -
NSAccessibilityElement -
NSAffineTransform -
NSAlert -
NSAnimation -
NSAnimationContext -
NSAppearance -
NSAppleEventDescriptor -
NSAppleEventManager -
NSAppleScript -
NSArray -
NSAssertionHandler -
NSAtomicStoreCacheNode -
NSAttributedString -
NSAutoreleasePool -
NSBackgroundActivityScheduler -
NSBezierPath -
NSBundle -
NSCache -
NSCachedURLResponse -
NSCalendar -
NSCell -
NSCharacterSet -
NSClassDescription -
NSCoder -
NSColor -
NSColorList -
NSColorPicker -
NSColorSpace -
NSCondition -
NSConditionLock -
NSConnection -
NSController -
NSCursor -
NSData -
NSDate -
NSDateComponents -
NSDecimalNumberHandler -
NSDictionary -
NSDistantObjectRequest -
NSDistributedLock -
NSDockTile -
NSDocument -
NSDocumentController -
NSDraggingImageComponent -
NSDraggingItem -
NSDraggingSession -
NSEntityDescription -
NSEntityMapping -
NSEntityMigrationPolicy -
NSEnumerator -
NSError -
NSEvent -
NSException -
NSExceptionHandler -
NSExpression -
NSExtensionContext -
NSExtensionItem -
NSFileAccessIntent -
NSFileCoordinator -
NSFileHandle -
NSFileManager -
NSFileSecurity -
NSFileVersion -
NSFileWrapper -
NSFont -
NSFontCollection -
NSFontDescriptor -
NSFontManager -
NSFormatter -
NSGarbageCollector -
NSGestureRecognizer -
NSGlyphGenerator -
NSGlyphInfo -
NSGradient -
NSGraphicsContext -
NSHashTable -
NSHelpManager -
NSHost -
NSHTTPCookie -
NSHTTPCookieStorage -
NSImage -
NSImageRep -
NSIncrementalStoreNode -
NSIndexPath -
NSIndexSet -
NSInputManager -
NSInputServer -
NSInvocation -
NSItemProvider -
NSJSONSerialization -
NSLayoutConstraint -
NSLayoutManager -
NSLinguisticTagger -
NSLocale -
NSLock -
NSManagedObject -
NSManagedObjectContext -
NSManagedObjectID -
NSManagedObjectModel -
NSMappingModel -
NSMapTable -
NSMediaLibraryBrowserController -
NSMenu -
NSMenuItem -
NSMergeConflict -
NSMergePolicy -
NSMetadataItem -
NSMetadataQuery -
NSMetadataQueryAttributeValueTuple -
NSMetadataQueryResultGroup -
NSMethodSignature -
NSMigrationManager -
NSMovie -
NSNetService -
NSNetServiceBrowser -
NSNib -
NSNibConnector -
NSNotification -
NSNotificationCenter -
NSNotificationQueue -
NSNull -
NSOpenGLContext -
NSOpenGLPixelBuffer -
NSOpenGLPixelFormat -
NSOperation -
NSOperationQueue -
NSOrderedSet -
NSOrthography -
NSPageLayout -
NSParagraphStyle -
NSPasteboard -
NSPasteboardItem -
NSPathControlItem -
NSPDFInfo -
NSPDFPanel -
NSPersistentStore -
NSPersistentStoreCoordinator -
NSPersistentStoreRequest -
NSPersistentStoreResult -
NSPipe -
NSPointerArray -
NSPointerFunctions -
NSPort -
NSPortMessage -
NSPortNameServer -
NSPositionalSpecifier -
NSPredicate -
NSPredicateEditorRowTemplate -
NSPreferencePane -
NSPrinter -
NSPrintInfo -
NSPrintOperation -
NSPrintPanel -
NSProcessInfo -
NSProgress -
NSPropertyDescription -
NSPropertyListSerialization -
NSPropertyMapping -
NSRecursiveLock -
NSRegularExpression -
NSResponder -
NSRulerMarker -
NSRunLoop -
NSRunningApplication -
NSScanner -
NSScreen -
NSScriptCoercionHandler -
NSScriptCommand -
NSScriptCommandDescription -
NSScriptExecutionContext -
NSScriptObjectSpecifier -
NSScriptSuiteRegistry -
NSScriptWhoseTest -
NSSet -
NSShadow -
NSSharingService -
NSSharingServicePicker -
NSSortDescriptor -
NSSound -
NSSpeechRecognizer -
NSSpeechSynthesizer -
NSSpellChecker -
NSSpellServer -
NSSplitViewItem -
NSStatusBar -
NSStatusItem -
NSStoryboard -
NSStoryboardSegue -
NSStream -
NSString -
NSTableColumn -
NSTabViewItem -
NSTask -
NSTextAlternatives -
NSTextAttachment -
NSTextBlock -
NSTextCheckingResult -
NSTextContainer -
NSTextFinder -
NSTextInputContext -
NSTextList -
NSTextTab -
NSThread -
NSTimer -
NSTimeZone -
NSToolbar -
NSToolbarItem -
NSTouch -
NSTrackingArea -
NSTreeNode -
NSTypesetter -
NSUbiquitousKeyValueStore -
NSUndoManager -
NSURL -
NSURLAuthenticationChallenge -
NSURLCache -
NSURLComponents -
NSURLConnection -
NSURLCredential -
NSURLCredentialStorage -
NSURLDownload -
NSURLHandle -
NSURLProtectionSpace -
NSURLProtocol -
NSURLQueryItem -
NSURLRequest -
NSURLResponse -
NSURLSession -
NSURLSessionConfiguration -
NSURLSessionTask -
NSUserActivity -
NSUserDefaults -
NSUserNotification -
NSUserNotificationAction -
NSUserNotificationCenter -
NSUserScriptTask -
NSUUID -
NSValue -
NSValueTransformer -
NSWorkspace -
NSXMLNode -
NSXMLParser -
NSXPCConnection -
NSXPCInterface -
NSXPCListener -
NSXPCListenerEndpoint -
OBEXFileTransferServices -
OBEXSession -
ODAttributeMap -
ODConfiguration -
ODMappings -
ODModuleEntry -
ODNode -
ODQuery -
ODRecord -
ODRecordMap -
ODSession -
OSALanguage -
OSALanguageInstance -
OSAScript -
PDFAction -
PDFAnnotation -
PDFBorder -
PDFDestination -
PDFDocument -
PDFOutline -
PDFPage -
PDFSelection -
PSAuthor -
PSClient -
PSContent -
PSEnclosure -
PSEntry -
PSFeed -
PSFeedSettings -
PSLink -
QCComposition -
QCCompositionRepository -
QCPlugIn -
QCRenderer -
QTCaptureConnection -
QTCaptureDevice -
QTCaptureInput -
QTCaptureOutput -
QTCaptureSession -
QTCompressionOptions -
QTDataReference -
QTExportOptions -
QTExportSession -
QTFormatDescription -
QTMedia -
QTMetadataItem -
QTMovie -
QTMovieModernizer -
QTSampleBuffer -
QTTrack -
QuartzFilter -
QuartzFilterManager -
SBObject -
SCNAction -
SCNAnimationEvent -
SCNCamera -
SCNConstraint -
SCNGeometry -
SCNGeometryElement -
SCNGeometrySource -
SCNHitTestResult -
SCNLevelOfDetail -
SCNLight -
SCNMaterial -
SCNMaterialProperty -
SCNMorpher -
SCNNode -
SCNParticlePropertyController -
SCNParticleSystem -
SCNPhysicsBehavior -
SCNPhysicsBody -
SCNPhysicsContact -
SCNPhysicsField -
SCNPhysicsShape -
SCNPhysicsVehicleWheel -
SCNPhysicsWorld -
SCNProgram -
SCNRenderer -
SCNScene -
SCNSceneSource -
SCNSkinner -
SCNTechnique -
SCNTransaction -
SFAuthorization -
SFAuthorizationPluginView -
SKAction -
SKConstraint -
SKDownload -
SKKeyframeSequence -
SKPayment -
SKPaymentQueue -
SKPaymentTransaction -
SKPhysicsBody -
SKPhysicsContact -
SKPhysicsJoint -
SKPhysicsWorld -
SKProduct -
SKProductsResponse -
SKRange -
SKReachConstraints -
SKRegion -
SKRequest -
SKShader -
SKTexture -
SKTextureAtlas -
SKTransition -
SKUniform -
SLRequest -
TKSmartCard -
TKSmartCardATR -
TKSmartCardATRInterfaceGroup -
TKSmartCardSlot -
TKSmartCardSlotManager -
WebArchive -
WebBackForwardList -
WebDataSource -
WebFrame -
WebHistory -
WebHistoryItem -
WebPreferences -
WebResource -
WebScriptObject -
WebUndefined -
WKBackForwardList -
WKBackForwardListItem -
WKFrameInfo -
WKNavigation -
WKNavigationAction -
WKNavigationResponse -
WKPreferences -
WKProcessPool -
WKScriptMessage -
WKUserContentController -
WKUserScript -
WKWebViewConfiguration -
WKWindowFeatures
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Инициализирует класс, прежде чем он получит свое первое сообщение.
Объявление
Swift
class func initialize()Objective C
+ (void)initializeОбсуждение
Время выполнения отправляет
initializeк каждому классу в программе как раз перед классом или любым классом, наследовавшимся от него, отправляется его первое сообщение из программы. Время выполнения отправляетinitializeобменивайтесь сообщениями к классам ориентированным на многопотоковое исполнение способом. Суперклассы получают это сообщение перед своими подклассами. Если подклассы не реализуют, реализацию суперкласса можно вызвать многократноinitialize— если подклассы явно вызывают, время выполнения вызовет наследованную реализацию — или[super initialize]. Если Вы хотите защитить себя от того, чтобы быть выполненным многократно, можно структурировать реализацию вдоль этих строк:+ (void)initialize {if (self == [ClassName self]) {// ... do the initialization ...}}
Поскольку
initializeвызывается ориентированным на многопотоковое исполнение способом и порядкомinitializeбыть обращенным различных классов не гарантируется, важно сделать минимальную сумму работы, необходимой вinitializeметоды. В частности, любой код, берущий блокировки, которые могли бы требоваться другими классами в ихinitializeметоды несут ответственность для приведения к мертвым блокировкам. Поэтому Вы не должны полагатьсяinitializeдля сложной инициализации, и должен вместо этого ограничить его прямым, класс локальная инициализация.Специальные замечания
initializeвызывается только один раз на класс. Если Вы хотите выполнить независимую инициализацию для класса и для категорий класса, необходимо реализоватьloadметоды.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
– init+ загрузкаclass(NSObjectпротокол) -
Вызванный каждый раз, когда класс или категория добавляются ко времени выполнения Objective C; реализуйте этот метод для выполнения специфичного для класса поведения после загрузки.
Объявление
Swift
class func load()Objective C
+ (void)loadОбсуждение
loadсообщение отправляется в классы и категории, и динамично загружающиеся и статически соединяющиеся, но только если недавно загруженный класс или категория реализуют метод, который может ответить.Порядок инициализации следующие:
Все инициализаторы в любой платформе Вы соединяетесь с.
Все
+loadметоды в Вашем изображении.Весь C++ статические инициализаторы и C/C++
__attribute__(constructor)функции в Вашем изображении.Все инициализаторы в платформах, соединяющихся с Вами.
Кроме того:
Класс
+loadметод вызывают после всех его суперклассов+loadметоды.Категория
+loadметод вызывают после собственного класса+loadметод.
В пользовательской реализации
loadможно поэтому безопасно передать другие несвязанные классы от того же изображения, но любогоloadметоды, реализованные теми классами еще, могли не работать.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает новый экземпляр класса получения.
Объявление
Swift
class func alloc() -> Self!Objective C
+ (instancetype)allocВозвращаемое значение
Новый экземпляр получателя.
Обсуждение
isaпеременная экземпляра нового экземпляра инициализируется к структуре данных, описывающей класс; память для всех других переменных экземпляра установлена в0.Необходимо использовать
init...метод для завершения процесса инициализации. Например:TheClass *newObject = [[TheClass alloc] init];
Не переопределять
allocвключать код инициализации. Вместо этого реализуйте специфичные для класса версииinit...методы.По историческим причинам,
allocвызываетallocWithZone:.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает новый экземпляр класса получения.
Объявление
Swift
class func allocWithZone(_zone: NSZone) -> Self!Objective C
+ (instancetype)allocWithZone:(struct _NSZone *)zoneПараметры
zoneЭтот параметр проигнорирован.
Возвращаемое значение
Новый экземпляр получателя.
Обсуждение
isaпеременная экземпляра нового экземпляра инициализируется к структуре данных, описывающей класс; память для всех других переменных экземпляра установлена в0.Необходимо использовать
init...метод для завершения процесса инициализации. Например:TheClass *newObject = [[TheClass allocWithZone:nil] init];
Не переопределять
allocWithZone:включать любой код инициализации. Вместо этого специфичные для класса версииinit...методы.Этот метод существует по историческим причинам; зоны памяти больше не используются Objective C.
Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Реализованный подклассами для инициализации нового объекта (получатель) сразу после того, как память для него была выделена.
Объявление
Swift
init()Objective C
- (instancetype)initВозвращаемое значение
Инициализированный объект, или
nilесли бы объект не мог бы быть создан по некоторым причинам, который не привел бы к исключению.Обсуждение
initсообщение вместе сalloc(илиallocWithZone:) сообщение в той же строке кода:TheClass *newObject = [[TheClass alloc] init];
Объект не готов использоваться, пока он не был инициализирован.
initметод, определенный вNSObjectкласс не делает никакой инициализации; это просто возвращаетсяself.В пользовательской реализации этого метода необходимо вызвать определяемый инициализатор super, тогда инициализируют и возвращают новый объект. Если новый объект не может быть инициализирован, метод должен возвратиться
nil. Например, гипотетическоеBuiltInCameraкласс мог бы возвратитьсяnilотinitметод, если работается устройство, не имеющее никакой камеры.- (id)init {self = [super init];if (self) {// Initialize self.}return self;}
В некоторых случаях,
initметод мог бы возвратить объект замены. Необходимо поэтому всегда использовать объект, возвращенныйinit, а не тот, возвращенныйallocилиallocWithZone:, в последующем коде.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект, возвращенный
copyWithZone:.Объявление
Swift
func copy() -> AnyObjectObjective C
- (id)copyВозвращаемое значение
Объект, возвращенный
NSCopyingметод протоколаcopyWithZone:,.Обсуждение
Это - удобный метод для классов, принимающих
NSCopyingпротокол. Если нет никакой реализации для, исключение повышеноcopyWithZone:.NSObjectсамостоятельно не поддерживаетNSCopyingпротокол. Подклассы должны поддерживать протокол и реализоватьcopyWithZone:метод. Версия подклассаcopyWithZone:метод должен отправить сообщение вsuperво-первых, для слияния его реализации, если подкласс не убывает непосредственно отNSObject.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает получатель.
Объявление
Objective C
+ (id)copyWithZone:(struct _NSZone *)zoneПараметры
zoneЭтот параметр проигнорирован.
Возвращаемое значение
Получатель.
Обсуждение
Этот метод существует, так объекты класса могут использоваться в ситуациях, где Вам нужен объект, соответствующий
NSCopyingпротокол. Например, этот метод позволяет Вам использовать объект класса в качестве ключа кNSDictionaryобъект. Вы не должны переопределять этот метод.Оператор импорта
Objective C
@import ObjectiveC;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает объект, возвращенный
mutableCopyWithZone:где зонаnil.Объявление
Swift
func mutableCopy() -> AnyObjectObjective C
- (id)mutableCopyВозвращаемое значение
Объект, возвращенный
NSMutableCopyingметод протоколаmutableCopyWithZone:, где зонаnil.Обсуждение
Это - удобный метод для классов, принимающих
NSMutableCopyingпротокол. Если нет никакой реализации для, исключение повышеноmutableCopyWithZone:.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает получатель.
Объявление
Objective C
+ (id)mutableCopyWithZone:(struct _NSZone *)zoneПараметры
zoneЗона памяти, в которой можно создать копию получателя.
Возвращаемое значение
Получатель.
Обсуждение
Этот метод существует, так объекты класса могут использоваться в ситуациях, где Вам нужен объект, соответствующий
NSMutableCopyingпротокол. Например, этот метод позволяет Вам использовать объект класса в качестве ключа кNSDictionaryобъект. Вы не должны переопределять этот метод.Оператор импорта
Objective C
@import ObjectiveC;Доступность
Доступный в OS X v10.0 и позже.
-
Освобождает память, занятую получателем.
Объявление
Objective C
- (void)deallocОбсуждение
Последующие сообщения к получателю могут генерировать ошибку при указании, что сообщение было отправлено в освобожденный объект (если освобожденная память еще не была снова использована).
Вы переопределяете этот метод для избавления от ресурсов кроме переменных экземпляра объекта, например:
- (void)dealloc {free(myBigBlockOfMemory);}
В реализации
dealloc, не вызывайте реализацию суперкласса. Необходимо попытаться избежать управлять временем жизни ограниченных ресурсов, таких как использование дескрипторов файловdealloc.Вы никогда не отправляете a
deallocобменивайтесь сообщениями непосредственно. Вместо этого объектdeallocметод вызывается временем выполнения. Дополнительную информацию см. в Усовершенствованном Руководстве по программированию управления памятью.Специальные замечания
Если не с помощью ARC, реализации
deallocдолжен вызвать реализацию суперкласса как ее последнюю инструкцию.Оператор импорта
Objective C
@import ObjectiveC;Доступность
Доступный в OS X v10.0 и позже.
-
Выделяет новый экземпляр класса получения, отправляет его
initсообщение и возвраты инициализированный объект.Объявление
Swift
class func `new`() -> Self!Objective C
+ (instancetype)newВозвращаемое значение
Новый экземпляр получателя.
Обсуждение
Этот метод является комбинацией
allocиinit. Какalloc, это инициализируетisaпеременная экземпляра нового объекта, таким образом, это указывает на структуру данных класса. Это тогда вызываетinitметод для завершения процесса инициализации.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект класса.
Объявление
Objective C
+ (Class)classВозвращаемое значение
Объект класса.
Обсуждение
Обратитесь к классу только его именем, когда это будет получатель сообщения. Во всех других случаях объект класса должен быть получен через это или похожий метод. Например, здесь
SomeClassпередается как параметрisKindOfClass:метод (объявленный вNSObjectпротокол):BOOL test = [self isKindOfClass:[SomeClass class]];
Оператор импорта
Objective C
@import ObjectiveC;Доступность
Доступный в OS X v10.0 и позже.
См. также
class(NSObjectпротокол)NSClassFromStringNSStringFromClass -
Возвращает объект класса для суперкласса получателя.
Объявление
Swift
class func superclass() -> AnyClass?Objective C
+ (Class)superclassВозвращаемое значение
Объект класса для суперкласса получателя.
Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
+ классsuperclass(NSObjectпротокол) -
Возвращает булево значение, указывающее, является ли класс получения подклассом, или идентичный, данный класс.
Объявление
Swift
class func isSubclassOfClass(_aClass: AnyClass) -> BoolObjective C
+ (BOOL)isSubclassOfClass:(Class)aClassПараметры
aClassОбъект класса.
Возвращаемое значение
YEStrueесли класс получения является подклассом — или идентичный —aClass, иначеNOfalse.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.2 и позже.
-
Возвращает булево значение, указывающее, способны ли экземпляры получателя к ответу на данный селектор.
Объявление
Swift
class func instancesRespondToSelector(_aSelector: Selector) -> BoolObjective C
+ (BOOL)instancesRespondToSelector:(SEL)aSelectorПараметры
aSelectorВозвращаемое значение
YEStrueесли экземпляры получателя способны к ответу кaSelectorсообщения, иначеNOfalse.Обсуждение
Если
aSelectorсообщения передаются к другим объектам, экземпляры класса в состоянии получить те сообщения без ошибки даже при том, что возвращается этот методNOfalse.Для выяснения у класса, может ли это, а не его экземпляры, реагировать на определенное сообщение, отправляют к классу вместо этого
NSObjectметод экземпляра протоколаrespondsToSelector:.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает булево значение, указывающее, соответствует ли получатель данному протоколу.
Объявление
Swift
class func conformsToProtocol(_ `aProtocol`: Protocol) -> BoolObjective C
+ (BOOL)conformsToProtocol:(Protocol *)aProtocolПараметры
aProtocolПротокол.
Возвращаемое значение
YEStrueесли получатель соответствуетaProtocol, иначеNOfalse.Обсуждение
Класс, как говорят, “соответствует” протоколу, если это принимает протокол или наследовалось от другого класса, принимающего его. Протоколы приняты путем перечисления их в угловых скобках после объявления интерфейса. Например, здесь
MyClassпринимает (фиктивный)AffiliationRequestsиNormalizationпротоколы:@interface MyClass : NSObject <AffiliationRequests, Normalization>
Класс также соответствует любым протоколам, включенным в протоколы, которые он принимает или наследовал. Протоколы включают другие протоколы таким же образом, классы принимают их. Например, здесь
AffiliationRequestsпротокол соединяетсяJoiningпротокол:@protocol AffiliationRequests <Joining>
Если класс принимает протокол, включающий другой протокол, он должен также реализовать все методы в объединенном протоколе или наследовать те методы от класса, принимающего его.
Этот метод определяет соответствие исключительно на основе формальных объявлений в заголовочных файлах, как проиллюстрировано выше. Это не проверяет, чтобы видеть, реализованы ли методы, объявленные в протоколе фактически — это - ответственность программиста.
Протокол, требуемый как параметр этого метода, может быть указан с помощью
@protocol()директива:BOOL canJoin = [MyClass conformsToProtocol:@protocol(Joining)];
Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Определяет местоположение и возвращает адрес реализации получателя метода, таким образом, это можно вызвать как функция.
Объявление
Swift
func methodForSelector(_aSelector: Selector) -> IMPObjective C
- (IMP)methodForSelector:(SEL)aSelectorПараметры
aSelectorСелектор, идентифицирующий метод, для которого можно возвратить адрес реализации. Селектор должен быть допустимым и не -
NULL. Если в сомнении, используйтеrespondsToSelector:метод для проверки прежде, чем передать селекторmethodForSelector:.Возвращаемое значение
Адрес реализации получателя
aSelector.Обсуждение
Если получатель является экземпляром,
aSelectorдолжен относиться к методу экземпляра; если получатель является классом, он должен относиться к методу класса.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Определяет местоположение и возвращает адрес реализации метода экземпляра, идентифицированного данным селектором.
Объявление
Swift
class func instanceMethodForSelector(_aSelector: Selector) -> IMPObjective C
+ (IMP)instanceMethodForSelector:(SEL)aSelectorПараметры
aSelectorСелектор, идентифицирующий метод, для которого можно возвратить адрес реализации. Селектор должен быть не -
NULLи допустимый для получателя. Если в сомнении, используйтеrespondsToSelector:метод для проверки прежде, чем передать селекторmethodForSelector:.Возвращаемое значение
Адрес реализации
aSelectorметод экземпляра.Обсуждение
Если экземпляры получателя не могут ответить на, ошибка сгенерирована
aSelectorсообщения.Используйте этот метод для выяснения у объекта класса реализацию методов экземпляра только. Для выяснения у класса реализацию метода класса отправьте
methodForSelector:метод экземпляра для класса вместо этого.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
-
Возвраты
NSMethodSignatureобъект, содержащий описание метода экземпляра, идентифицированного данным селектором.Объявление
Objective C
+ (NSMethodSignature *)instanceMethodSignatureForSelector:(SEL)aSelectorПараметры
aSelectorСелектор, идентифицирующий метод, для которого можно возвратить адрес реализации.
Возвращаемое значение
NSMethodSignatureобъект, содержащий описание метода экземпляра, идентифицированногоaSelector, илиnilесли не может быть найден метод.Оператор импорта
Objective C
@import ObjectiveC;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвраты
NSMethodSignatureобъект, содержащий описание метода, идентифицированного данным селектором.Объявление
Objective C
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelectorПараметры
aSelectorСелектор, идентифицирующий метод, для которого можно возвратить адрес реализации. Когда получатель является экземпляром,
aSelectorдолжен идентифицировать метод экземпляра; когда получатель является классом, он должен идентифицировать метод класса.Возвращаемое значение
NSMethodSignatureобъект, содержащий описание метода, идентифицированногоaSelector, илиnilесли не может быть найден метод.Обсуждение
Этот метод используется в реализации протоколов. Этот метод также используется в ситуациях где
NSInvocationобъект должен быть создан, такой как во время передачи сообщения. Если Ваш объект поддерживает делегата или способен к обработке сообщений, что это непосредственно не реализует, необходимо переопределить этот метод для возврата надлежащей сигнатуры метода.Оператор импорта
Objective C
@import ObjectiveC;Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает строку, представляющую содержание класса получения.
Возвращаемое значение
Строка, представляющая содержание класса получения.
Обсуждение
Объектная команда печати отладчика вызывает этот метод для создания текстового описания объекта.
NSObjectреализация этого метода просто распечатывает имя класса.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
description(NSObjectпротокол)
-
Прокси для принимающего объекта (только для чтения)
Объявление
Swift
var autoContentAccessingProxy: AnyObject { get }Objective C
@property(readonly, retain) id autoContentAccessingProxyОбсуждение
Если получатель принимает, это свойство возвращает прокси для принимающего объекта
NSDiscardableContentпротокол и все еще имеет неотброшенное содержание.Вызовы прокси
beginContentAccessна получателе для хранения содержания доступным пока жизни прокси и вызовыendContentAccessкогда освобожден прокси.Интерфейсный объект является иначе подклассом
NSProxyи передает сообщения к исходному объекту получателя какNSProxyделает.Этот метод может использоваться для сокрытия
NSDiscardableContentэнергозависимость содержания объекта путем создания объекта, реагирующего на те же сообщения, но содержащего содержание исходного получателя, доступного пока создаваемые жизни прокси. Таким образом скрытый,NSDiscardableContentобъект (посредством прокси) может быть выделен не подозревающим получателям объекта, которые иначе не знали бы, что им, возможно, придется вызватьbeginContentAccessиendContentAccessвокруг определенных использований (определенный для каждогоNSDiscardableContentобъект)NSDiscardableContentобъект.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Вызывает метод получателя на текущем потоке с помощью режима по умолчанию после задержки.
Объявление
Objective C
- (void)performSelector:(SEL)aSelectorwithObject:(id)anArgumentafterDelay:(NSTimeInterval)delayПараметры
aSelectorСелектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
anArgumentПараметр для передачи методу, когда это вызывается. Передача
nilесли метод не берет параметр.delayМинимальное время, перед которым отправляется сообщение. Указание задержки 0 не обязательно заставляет селектор быть сразу выполненным. Селектор все еще ставится в очередь на цикле выполнения потока и выполняется как можно скорее.
Обсуждение
Этот метод устанавливает таймер для выполнения
aSelectorсообщение на цикле выполнения текущего потока. Таймер сконфигурирован для выполнения в режиме по умолчанию (NSDefaultRunLoopMode). Когда таймер стреляет, поток пытается исключить сообщение из очереди от цикла выполнения и выполнить селектор. Если цикл выполнения работает и в режиме по умолчанию, это успешно выполняется; иначе, таймер ожидает, пока цикл выполнения не находится в режиме по умолчанию.Если Вы хотите, чтобы сообщение было исключено из очереди, когда цикл выполнения находится в режиме кроме режима по умолчанию, используйте
performSelector:withObject:afterDelay:inModes:метод вместо этого. Если Вы не уверены, является ли текущий поток основным потоком, можно использоватьperformSelectorOnMainThread:withObject:waitUntilDone:илиperformSelectorOnMainThread:withObject:waitUntilDone:modes:метод, чтобы гарантировать, что Ваш селектор выполняется на основном потоке. Для отмены сообщения с очередями используйте cancelPreviousPerformRequestsWithTarget: или cancelPreviousPerformRequestsWithTarget:selector:object: метод.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_afterи связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
Вызывает метод получателя на текущем потоке с помощью указанных режимов после задержки.
Объявление
Objective C
- (void)performSelector:(SEL)aSelectorwithObject:(id)anArgumentafterDelay:(NSTimeInterval)delayinModes:(NSArray *)modesПараметры
aSelectorСелектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
anArgumentПараметр для передачи методу, когда это вызывается. Передача
nilесли метод не берет параметр.delayМинимальное время, перед которым отправляется сообщение. Указание задержки 0 не обязательно заставляет селектор быть сразу выполненным. Селектор все еще ставится в очередь на цикле выполнения потока и выполняется как можно скорее.
modesМассив строк, идентифицирующих режимы для соединения с таймером, выполняющим селектор. Этот массив должен содержать по крайней мере одну строку. Если Вы указываете
nilили пустой массив для этого параметра, этот метод возвращается, не выполняя указанный селектор. Для получения информации о выполненных режимах цикла посмотрите Циклы Выполнения в Поточной обработке Руководства по программированию.Обсуждение
Этот метод устанавливает таймер для выполнения
aSelectorсообщение на цикле выполнения текущего потока. Таймер сконфигурирован для выполнения в режимах, указанныхmodesпараметр. Когда таймер стреляет, поток пытается исключить сообщение из очереди от цикла выполнения и выполнить селектор. Если цикл выполнения работает и в одном из указанных режимов, это успешно выполняется; иначе, таймер ожидает, пока цикл выполнения не находится в одном из тех режимов.Если Вы хотите, чтобы сообщение было исключено из очереди, когда цикл выполнения находится в режиме кроме режима по умолчанию, используйте
performSelector:withObject:afterDelay:inModes:метод вместо этого. Если Вы не уверены, является ли текущий поток основным потоком, можно использоватьperformSelectorOnMainThread:withObject:waitUntilDone:илиperformSelectorOnMainThread:withObject:waitUntilDone:modes:метод, чтобы гарантировать, что Ваш селектор выполняется на основном потоке. Для отмены сообщения с очередями используйте cancelPreviousPerformRequestsWithTarget: или cancelPreviousPerformRequestsWithTarget:selector:object: метод.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_afterи связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
-
performSelectorOnMainThread:withObject:waitUntilDone: - performSelectorOnMainThread:withObject:waitUntilDone:Вызывает метод получателя на основном потоке с помощью режима по умолчанию.
Объявление
Objective C
- (void)performSelectorOnMainThread:(SEL)aSelectorwithObject:(id)argwaitUntilDone:(BOOL)waitПараметры
aSelectorСелектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
argПараметр для передачи методу, когда это вызывается. Передача
nilесли метод не берет параметр.waitБулевская переменная, указывающая, выполняются ли блоки текущего потока до окончания указанного селектора на получателе на основном потоке. Указать
YEStrueблокировать этот поток; иначе, указатьNOfalseиметь этот возврат метода сразу.Если текущий поток является также основным потоком, и Вы указываете
YEStrueдля этого параметра сообщение передается и сразу обрабатывается.Обсуждение
Можно использовать этот метод для передачи сообщений к основному потоку приложения. Основной поток охватывает основной цикл выполнения приложения и где
NSApplicationобъект получает события. Сообщение в этом случае является методом текущего объекта, который Вы хотите выполнить на потоке.Этот метод ставит сообщение в очередь на цикле выполнения основного потока с помощью общих режимов цикла выполнения — т.е. режимы, связанные с
NSRunLoopCommonModesпостоянный. Как часть его нормальной обработки цикла выполнения, основной поток исключает сообщение из очереди (предполагающий, что это работает в одном из общих режимов цикла выполнения), и вызывает требуемый метод. Множественные вызовы этого метода от того же потока заставляют соответствующие селекторы быть поставленными в очередь и выполненными в том же том же порядке, в котором были выполнены вызовы.Вы не можете отменить поставленное в очередь использование сообщений этого метода. Если Вы хотите опцию отмены сообщения на текущем потоке, необходимо использовать любого
performSelector:withObject:afterDelay:илиperformSelector:withObject:afterDelay:inModes:метод.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_afterи связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.2 и позже.
-
performSelectorOnMainThread:withObject:waitUntilDone:modes: - performSelectorOnMainThread:withObject:waitUntilDone:modes:Вызывает метод получателя на основном потоке с помощью указанных режимов.
Объявление
Objective C
- (void)performSelectorOnMainThread:(SEL)aSelectorwithObject:(id)argwaitUntilDone:(BOOL)waitmodes:(NSArray *)arrayПараметры
aSelectorСелектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
argПараметр для передачи методу, когда это вызывается. Передача
nilесли метод не берет параметр.waitБулевская переменная, указывающая, выполняются ли блоки текущего потока до окончания указанного селектора на получателе на основном потоке. Указать
YEStrueблокировать этот поток; иначе, указатьNOfalseиметь этот возврат метода сразу.Если текущий поток является также основным потоком, и Вы передаете
YEStrue, сообщение сразу выполняется, иначе выполнение ставится в очередь для выполнения в следующий раз через цикл выполнения.arrayМассив строк, идентифицирующий режимы, в которых допустимо выполнить указанный селектор. Этот массив должен содержать по крайней мере одну строку. Если Вы указываете
nilили пустой массив для этого параметра, этот метод возвращается, не выполняя указанный селектор. Для получения информации о выполненных режимах цикла посмотрите Циклы Выполнения в Поточной обработке Руководства по программированию.Обсуждение
Можно использовать этот метод для передачи сообщений к основному потоку приложения. Основной поток охватывает основной цикл выполнения приложения и где
NSApplicationобъект получает события. Сообщение в этом случае является методом текущего объекта, который Вы хотите выполнить на потоке.Этот метод ставит сообщение в очередь на цикле выполнения основного потока с помощью режимов цикла выполнения, указанных в
arrayпараметр. Как часть его нормальной обработки цикла выполнения, основной поток исключает сообщение из очереди (предполагающий, что это работает в одном из указанных режимов), и вызывает требуемый метод. Множественные вызовы этого метода от того же потока заставляют соответствующие селекторы быть поставленными в очередь и выполненными в том же том же порядке, в котором вызовы были выполнены, предположив, что связанные режимы цикла выполнения для каждого селектора являются тем же. При указании различных режимов для каждого селектора любые селекторы, связанный режим которых не соответствует текущий режим цикла выполнения, пропускаются, пока цикл выполнения впоследствии не выполняется в том режиме.Вы не можете отменить поставленное в очередь использование сообщений этого метода. Если Вы хотите опцию отмены сообщения на текущем потоке, необходимо использовать любого
performSelector:withObject:afterDelay:илиperformSelector:withObject:afterDelay:inModes:метод.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_afterи связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.2 и позже.
-
performSelector:onThread:withObject:waitUntilDone: - performSelector:onThread:withObject:waitUntilDone:Вызывает метод получателя на указанном потоке с помощью режима по умолчанию.
Объявление
Objective C
- (void)performSelector:(SEL)aSelectoronThread:(NSThread *)threadwithObject:(id)argwaitUntilDone:(BOOL)waitПараметры
aSelectorСелектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
threadПоток, на котором можно выполниться
aSelector.argПараметр для передачи методу, когда это вызывается. Передача
nilесли метод не берет параметр.waitБулевская переменная, указывающая, выполняются ли блоки текущего потока до окончания указанного селектора на получателе на указанном потоке. Указать
YEStrueблокировать этот поток; иначе, указатьNOfalseиметь этот возврат метода сразу.Если текущий поток и целевой поток являются тем же, и Вы указываете
YEStrueдля этого параметра селектор сразу выполняется на текущем потоке. Если Вы указываетеNOfalse, этот метод ставит сообщение в очередь на цикле и возвратах выполнения потока, точно так же, как это делает для других потоков. Текущий поток должен тогда исключить из очереди и обработать сообщение, когда это имеет возможность сделать так.Обсуждение
Можно использовать этот метод для передачи сообщений к другим потокам в приложении. Сообщение в этом случае является методом текущего объекта, который Вы хотите выполнить на целевом потоке.
Этот метод ставит сообщение в очередь на цикле выполнения целевого потока с помощью выполненных режимов цикла по умолчанию — т.е. режимы, связанные с
NSRunLoopCommonModesпостоянный. Как часть его нормальной обработки цикла выполнения, целевой поток исключает сообщение из очереди (предполагающий, что это работает в одном из выполненных режимов цикла по умолчанию), и вызывает требуемый метод.Вы не можете отменить поставленное в очередь использование сообщений этого метода. Если Вы хотите опцию отмены сообщения на текущем потоке, необходимо использовать любого
performSelector:withObject:afterDelay:илиperformSelector:withObject:afterDelay:inModes:метод.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_afterи связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.5 и позже.
-
performSelector:onThread:withObject:waitUntilDone:modes: - performSelector:onThread:withObject:waitUntilDone:modes:Вызывает метод получателя на указанном потоке с помощью указанных режимов.
Объявление
Параметры
aSelectorСелектор, идентифицирующий метод для вызова. Это не должно иметь значительного возвращаемого значения и должно взять отдельный аргумент идентификатора типа или никакие параметры.
threadПоток, на котором можно выполниться
aSelector. Этот поток представляет целевой поток.argПараметр для передачи методу, когда это вызывается. Передача
nilесли метод не берет параметр.waitБулевская переменная, указывающая, выполняются ли блоки текущего потока до окончания указанного селектора на получателе на указанном потоке. Указать
YEStrueблокировать этот поток; иначе, указатьNOfalseиметь этот возврат метода сразу.Если текущий поток и целевой поток являются тем же, и Вы указываете
YEStrueдля этого параметра селектор сразу выполняется. Если Вы указываетеNOfalse, этот метод ставит сообщение в очередь и сразу возвращается, независимо от того, являются ли потоки тем же или отличающийся.arrayМассив строк, идентифицирующий режимы, в которых допустимо выполнить указанный селектор. Этот массив должен содержать по крайней мере одну строку. Если Вы указываете
nilили пустой массив для этого параметра, этот метод возвращается, не выполняя указанный селектор. Для получения информации о выполненных режимах цикла посмотрите Циклы Выполнения в Поточной обработке Руководства по программированию.Обсуждение
Можно использовать этот метод для передачи сообщений к другим потокам в приложении. Сообщение в этом случае является методом текущего объекта, который Вы хотите выполнить на целевом потоке.
Этот метод ставит сообщение в очередь на цикле выполнения целевого потока с помощью режимов цикла выполнения, указанных в
arrayпараметр. Как часть его нормальной обработки цикла выполнения, целевой поток исключает сообщение из очереди (предполагающий, что это работает в одном из указанных режимов), и вызывает требуемый метод.Вы не можете отменить поставленное в очередь использование сообщений этого метода. Если Вы хотите опцию отмены сообщения на текущем потоке, необходимо использовать любого
performSelector:withObject:afterDelay:илиperformSelector:withObject:afterDelay:inModes:метод вместо этого.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_afterи связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.5 и позже.
-
Вызывает метод получателя на новом фоновом потоке.
Объявление
Objective C
- (void)performSelectorInBackground:(SEL)aSelectorwithObject:(id)argПараметры
aSelectorСелектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
argПараметр для передачи методу, когда это вызывается. Передача
nilесли метод не берет параметр.Обсуждение
Этот метод создает новый поток в Вашем приложении, помещая Ваше приложение в многопоточный режим, если это уже не было. Метод, представленный
aSelectorдолжен установить среду потока, как Вы были бы для любого другого нового потока в Вашей программе. Для получения дополнительной информации о том, как сконфигурировать и выполнить потоки, см. Руководство по программированию Поточной обработки.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.5 и позже.
-
Отмены выполняют запросы, ранее зарегистрированные в
performSelector:withObject:afterDelay:метод экземпляра.Объявление
Swift
class func cancelPreviousPerformRequestsWithTarget(_aTarget: AnyObject)Objective C
+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTargetПараметры
aTargetЦель для запросов ранее зарегистрировалась в
performSelector:withObject:afterDelay:метод экземпляра.Обсуждение
Все выполняют запросы, имеющие ту же цель
aTargetотменяются. Этот метод удаляет, выполняют запросы только в текущем цикле выполнения, не всех циклах выполнения.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
cancelPreviousPerformRequestsWithTarget (_: selector:object:) + cancelPreviousPerformRequestsWithTarget:selector:object:Отмены выполняют запросы, ранее зарегистрированные в
performSelector:withObject:afterDelay:.Объявление
Swift
class func cancelPreviousPerformRequestsWithTarget(_aTarget: AnyObject, selectoraSelector: Selector, objectanArgument: AnyObject?)Objective C
+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTargetselector:(SEL)aSelectorobject:(id)anArgumentПараметры
aTargetЦель для запросов ранее зарегистрировалась в
performSelector:withObject:afterDelay:метод экземпляраaSelectorСелектор для запросов ранее зарегистрировался в
performSelector:withObject:afterDelay:метод экземпляра.anArgumentПараметр за запросы ранее зарегистрировался в
performSelector:withObject:afterDelay:метод экземпляра. Равенство параметра определяется с помощьюisEqual:, таким образом, значение не должно быть тем же объектом, переданным первоначально. Передачаnilсоответствовать запрос наnilэто было первоначально передано как параметр.Обсуждение
Все выполняют запросы, отменяются, которые имеют ту же цель как
aTarget, параметр какanArgument, и селектор какaSelector. Этот метод удаляет, выполняют запросы только в текущем цикле выполнения, не всех циклах выполнения.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект, к которому должны сначала быть направлены нераспознанные сообщения.
Объявление
Swift
func forwardingTargetForSelector(_aSelector: Selector) -> AnyObject?Objective C
- (id)forwardingTargetForSelector:(SEL)aSelectorПараметры
aSelectorСелектор для метода, который не реализует получатель.
Возвращаемое значение
Объект, к которому должны сначала быть направлены нераспознанные сообщения.
Обсуждение
Если объект реализует (или наследовался), этот метод, и возвращается не -
nil(и не -self) результат, тот возвращенный объект используется в качестве нового объекта получателя и резюме отгрузки сообщения тому новому объекту. (Очевидно, если Вы возвращаетесьselfот этого метода код просто попал бы в бесконечный цикл.)При реализации этого метода в некорневом классе если класс не имеет ничего для возврата для данного селектора тогда, необходимо возвратить результат вызова реализации super.
Этот метод дает объекту шанс перенаправить неизвестное сообщение, отправленное в него перед намного более дорогим
forwardInvocation:машинное оборудование вступает во владение. Когда Вы просто хотите перенаправить сообщения к другому объекту и можете быть порядком величины быстрее, чем регулярная передача, это полезно. Не полезно, где цель передачи состоит в том, чтобы получить NSInvocation или управлять параметрами или возвращаемым значением во время передачи.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.5 и позже.
-
Переопределенный подклассами для передачи сообщений к другим объектам.
Объявление
Objective C
- (void)forwardInvocation:(NSInvocation *)anInvocationПараметры
anInvocationВызов для передачи.
Обсуждение
Когда объект отправляется сообщение, для которого он не имеет никакого соответствующего метода, система во время выполнения дает получателю возможность делегировать сообщение к другому получателю. Это делегирует сообщение путем создания
NSInvocationобъект, представляющий сообщение и отправляющий получатель aforwardInvocation:сообщение, содержащее этоNSInvocationвозразите как параметр. ПолучательforwardInvocation:метод может тогда принять решение передать сообщение к другому объекту. (Если тот объект не может реагировать на сообщение также, этому также дадут шанс передать его.)forwardInvocation:сообщение таким образом позволяет объекту установить отношения с другими объектами, которые, для определенных сообщений, будут действовать от своего лица. Передающий объект, в некотором смысле, в состоянии «наследовать» некоторые характеристики объекта, к которому он передает сообщение.Реализация
forwardInvocation:метод имеет две задачи:Определять местоположение объекта, который может реагировать на сообщение, закодированное в
anInvocation. Эта объектная потребность не быть тем же для всех сообщений.Отправить сообщение в то объектное использование
anInvocation.anInvocationбудет содержать результат, и система во время выполнения извлечет и поставит этот результат к исходному отправителю.
В простом случае, в котором объект передает сообщения всего одному месту назначения (такой как гипотетическое
friendпеременная экземпляра в примере ниже), aforwardInvocation:метод мог быть настолько простым:- (void)forwardInvocation:(NSInvocation *)invocation{SEL aSelector = [invocation selector];if ([friend respondsToSelector:aSelector])[invocation invokeWithTarget:friend];else[super forwardInvocation:invocation];}
Сообщение, которое это передается, должно иметь постоянное число параметров; переменные числа параметров (в стиле
printf()) не поддерживаются.Возвращаемое значение переадресованного сообщения возвращается к исходному отправителю. Все типы возвращаемых значений могут быть поставлены отправителю:
idтипы, структуры, двойная точность числа с плавающей точкой.Реализации
forwardInvocation:метод может сделать, больше, чем просто передают сообщения.forwardInvocation:может, например, использоваться для консолидации кода, реагирующего на множество различных сообщений, таким образом избегая необходимости необходимости записать отдельный метод для каждого селектора. AforwardInvocation:метод мог бы также включить несколько других объектов в ответ на данное сообщение, а не передать его всего один.NSObjectреализацияforwardInvocation:просто вызываетdoesNotRecognizeSelector:метод; это не передает сообщений. Таким образом, если Вы принимаете решение не реализоватьforwardInvocation:, отправка нераспознанных сообщений к объектам повысит исключения.Оператор импорта
Objective C
@import ObjectiveC;Доступность
Доступный в OS X v10.0 и позже.
-
Динамично обеспечивает реализацию для данного селектора для метода класса.
Объявление
Swift
class func resolveClassMethod(_name: Selector) -> BoolObjective C
+ (BOOL)resolveClassMethod:(SEL)nameПараметры
nameИмя селектора для разрешения.
Возвращаемое значение
YEStrueесли метод был найден и добавил к получателю, иначеNOfalse.Обсуждение
Этот метод позволяет Вам динамично обеспечивать реализацию для данного селектора. Посмотрите
resolveInstanceMethod:для дальнейшего обсуждения.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Динамично обеспечивает реализацию для данного селектора для метода экземпляра.
Объявление
Swift
class func resolveInstanceMethod(_name: Selector) -> BoolObjective C
+ (BOOL)resolveInstanceMethod:(SEL)nameПараметры
nameИмя селектора для разрешения.
Возвращаемое значение
YEStrueесли метод был найден и добавил к получателю, иначеNOfalse.Обсуждение
Этот метод и
resolveClassMethod:позвольте Вам динамично обеспечивать реализацию для данного селектора.Метод Objective C является просто функцией C, которые берут по крайней мере два параметра —
selfи_cmd. Используяclass_addMethodфункция, можно добавить функцию к классу как метод. Учитывая следующую функцию:void dynamicMethodIMP(id self, SEL _cmd){// implementation ....}
можно использовать
resolveInstanceMethod:динамично добавить его к классу как метод (вызванныйresolveThisMethodDynamically) как это:+ (BOOL) resolveInstanceMethod:(SEL)aSEL{if (aSEL == @selector(resolveThisMethodDynamically)){class_addMethod([self class], aSEL, (IMP) dynamicMethodIMP, "v@:");return YES;}return [super resolveInstanceMethod:aSel];}
Специальные замечания
Этот метод вызывают, прежде чем передающий механизм Objective C вызывается. Если
respondsToSelector:илиinstancesRespondToSelector:вызывается, динамическому преобразователю метода дают возможность обеспечитьIMPдля данного селектора сначала.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.5 и позже.
См. также
-
Дескрипторы обмениваются сообщениями, получатель не распознает.
Объявление
Swift
func doesNotRecognizeSelector(_aSelector: Selector)Objective C
- (void)doesNotRecognizeSelector:(SEL)aSelectorПараметры
aSelectorСелектор, идентифицирующий метод, не реализованный или распознанный получателем.
Обсуждение
Система во время выполнения вызывает этот метод каждый раз, когда объект получает
aSelectorсообщение это не может ответить на или вперед. Этот метод, в свою очередь, повышенияNSInvalidArgumentException, и генерирует сообщение об ошибке.Любой
doesNotRecognizeSelector:сообщения обычно отправляются только системой во время выполнения. Однако они могут использоваться в коде программы, чтобы препятствовать тому, чтобы был наследован метод. Например,NSObjectподкласс мог бы отказатьсяcopyилиinitметод путем перереализации его для включения adoesNotRecognizeSelector:сообщение следующим образом:- (id)copy{[self doesNotRecognizeSelector:_cmd];}
_cmdпеременная является скрытым параметром, переданным каждому методу, который является текущим селектором; в этом примере это идентифицирует селектор дляcopyметод. Этот код препятствует тому, чтобы экземпляры подкласса ответили наcopyсообщения или суперклассы от передачиcopyсообщения — несмотря на то, чтоrespondsToSelector:все еще сообщит, что получатель имеет доступ к acopyметод.При переопределении этого метода необходимо вызвать
superили повышениеNSInvalidArgumentExceptionисключение в конце Вашей реализации. Другими словами, этот метод не должен обычно возвращаться; это должно всегда приводить к выданному исключению.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Переопределенный подклассами для замены другим объектом вместо объекта, декодировавшегося и впоследствии получившего это сообщение.
Объявление
Swift
func awakeAfterUsingCoder(_aDecoder: NSCoder) -> AnyObject?Objective C
- (id)awakeAfterUsingCoder:(NSCoder *)aDecoderПараметры
aDecoderДекодер раньше декодировал получатель.
Возвращаемое значение
Получатель или другой объект занять место объекта, декодировавшегося и впоследствии получившего это сообщение.
Обсуждение
Можно использовать этот метод для устранения избыточных объектов, создаваемых кодером. Например, если после декодирования объекта Вы обнаруживаете, что эквивалентный объект уже существует, можно возвратить существующий объект. Если замена возвращается, Ваш метод переопределения ответственен за выпуск получателя.
Этот метод вызывается
NSCoder.NSObjectреализация просто возвращаетсяself.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
– classForCoder– replacementObjectForCoder:initWithCoder:(NSCodingпротокол) -
Переопределенный подклассами для замены классом кроме ее собственного во время архивации.
Объявление
Swift
var classForArchiver: AnyClass? { get }Objective C
@property(readonly) Class classForArchiverВозвращаемое значение
Класс для заменения собственный класс получателя во время архивации.
Обсуждение
Этот метод вызывается
NSArchiver. Это позволяет специализированное поведение для архивации — например, частные подклассы кластера класса заменяют именем своего общедоступного суперкласса, будучи заархивированным.NSObjectреализация возвращает объект, возвращенныйclassForCoder. ПереопределениеclassForCoderдобавить общее поведение кодирования.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
classForCoder classForCoderСвойствоПереопределенный подклассами для замены классом кроме его собственного во время кодирования. (только для чтения)
Объявление
Swift
var classForCoder: AnyClass { get }Objective C
@property(readonly) Class classForCoderОбсуждение
Этот метод вызывается
NSCoder.NSObjectреализация возвращает класс получателя. Частные подклассы кластера класса заменяют именем своего общедоступного суперкласса, будучи заархивированным.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Переопределенный подклассами для заменения новым классом экземпляры во время включенной архивации.
Объявление
Swift
var classForKeyedArchiver: AnyClass? { get }Objective C
@property(readonly) Class classForKeyedArchiverОбсуждение
Объект будет закодирован, как будто это был элемент возвращенного класса. Результаты этого метода переопределяются именем класса кодера и именем экземпляра к таблицам кодирования класса. Если
nilвозвращается, результат этого метода проигнорирован.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Переопределенный для возврата имен классов, которые могут использоваться для декодирования объектов, если их класс недоступен.
Объявление
Swift
class func classFallbacksForKeyedArchiver() -> [AnyObject]Objective C
+ (NSArray *)classFallbacksForKeyedArchiverВозвращаемое значение
Массив
NSStringобъекты, указывающие имена классов в предпочтительном порядке на разархивированиеОбсуждение
NSKeyedArchiverвызовы этот метод и хранилища результат в архиве. Если фактический класс объекта не существует во время разархивирования,NSKeyedUnarchiverпроходит через сохраненный список классов и использует первый, делающий существует как класс замены для декодирования объекта. Реализация по умолчанию этого метода возвратыnil.Можно использовать этот метод, если Вы вводите новый класс в свое приложение для обеспечения некоторых назад совместимость в случае, если архив будет считан в системе, не имеющей того класса. Иногда может быть другой класс, который может работать почти, а также замена для нового класса, и архивные ключи и заархивированное состояние для нового класса могут быть тщательно выбраны (или выписанная совместимость) так, чтобы объект мог быть разархивирован как класс замены при необходимости.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
Переопределенный подклассами для замены новым классом во время включенного разархивирования.
Объявление
Swift
class func classForKeyedUnarchiver() -> AnyClassObjective C
+ (Class)classForKeyedUnarchiverВозвращаемое значение
Класс для заменения получатель во время включенного разархивирования.
Обсуждение
Во время включенного разархивирования экземпляры получателя будут декодироваться как элементы возвращенного класса. Этот метод переопределяет результаты имени класса декодера и имени экземпляра к таблицам кодирования класса.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
-
Переопределенный подклассами для замены классом кроме его собственного для кодирования распределения.
Объявление
Objective C
@property(readonly) Class classForPortCoderВозвращаемое значение
Класс для заменения получатель в кодировании распределения.
Обсуждение
Этот метод позволяет специализированное поведение для распределенных объектов — переопределение
classForCoderдобавить общее поведение кодирования. Этот метод вызываетсяNSPortCoder.NSObjectреализация возвращает класс, возвращенныйclassForCoder.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Переопределенный подклассами для заменения другим объектом себя во время архивации.
Объявление
Swift
func replacementObjectForArchiver(_anArchiver: NSArchiver) -> AnyObject?Objective C
- (id)replacementObjectForArchiver:(NSArchiver *)anArchiverПараметры
anArchiverarchiver создание архива.
Возвращаемое значение
Объект заменить получатель во время архивации.
Обсуждение
Этот метод вызывается
NSArchiver.NSObjectреализация возвращает объект, возвращенныйreplacementObjectForCoder:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Переопределенный подклассами для заменения другим объектом себя во время кодирования.
Объявление
Swift
func replacementObjectForCoder(_aCoder: NSCoder) -> AnyObject?Objective C
- (id)replacementObjectForCoder:(NSCoder *)aCoderПараметры
aCoderКодер, кодирующий получатель.
Возвращаемое значение
Объект кодирует вместо получателя (если отличающийся).
Обсуждение
Объект мог бы закодировать себя в архив, но закодировать прокси для себя, если он кодируется для распределения. Этот метод вызывается
NSCoder.NSObjectвозвраты реализацииself.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Переопределенный подклассами для заменения другим объектом себя во время включенной архивации.
Объявление
Swift
func replacementObjectForKeyedArchiver(_archiver: NSKeyedArchiver) -> AnyObject?Objective C
- (id)replacementObjectForKeyedArchiver:(NSKeyedArchiver *)archiverПараметры
archiverВключенный archiver создание архива.
Возвращаемое значение
Объект кодирует вместо получателя (если отличающийся).
Обсуждение
Этот метод вызывают, только если никакая замена, отображающаяся для объекта, не была установлена в кодере (например, вследствие предыдущего вызова
replacementObjectForKeyedArchiver:к тому объекту).Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Переопределенный подклассами для заменения другим объектом или копией для себя во время кодирования распределения.
Объявление
Objective C
- (id)replacementObjectForPortCoder:(NSPortCoder *)aCoderПараметры
aCoderКодер порта, кодирующий получатель.
Возвращаемое значение
Объект кодирует вместо получателя (если отличающийся).
Обсуждение
Этот метод вызывается
NSPortCoder.NSObjectреализация возвращаетсяNSDistantObjectобъект для объекта, возвращенногоreplacementObjectForCoder:, то, чтобы позволять все объекты быть распределенным по доверенности как значение по умолчанию. Однако, еслиreplacementObjectForCoder:возвратыnil,NSObjectреализация также возвратитсяnil.Подклассы, хотящие быть переданными копией вместо ссылкой, должны переопределить этот метод и возврат
self. Следующий пример показывает, как поддерживать замену объекта и копией и ссылкой:- (id)replacementObjectForPortCoder:(NSPortCoder *)encoder {return [encoder isByref] ? [super replacementObjectForPortCoder:encoder] : self;}
Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает номер версии получателя.
Объявление
Swift
class func setVersion(_aVersion: Int)Objective C
+ (void)setVersion:(NSInteger)aVersionПараметры
aVersionНомер версии для получателя.
Обсуждение
Когда экземпляры класса должны быть заархивированы и снова использованы позже, номер версии полезен. Версия по умолчанию
0.Специальные замечания
Номер версии применяется к
NSArchiver/NSUnarchiver, но не кNSKeyedArchiver/NSKeyedUnarchiver. Включенный archiver не кодирует номера версии класса.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает номер версии, присвоенный классу.
Возвращаемое значение
Номер версии присвоился к классу.
Обсуждение
Если никакая версия не была установлена, значение по умолчанию
0.Номера версий необходимы для декодирования или разархивирования, таким образом, более старые версии объекта могут обнаруживаться и декодироваться правильно.
Предостережение должно быть взято при получении версии из
NSCodingпротокол или другие методы. Используйте имя класса явно при получении номера версии класса:version = [MyClass version];
Просто не отправлять
versionк возвращаемому значению класса — номер версии подкласса может быть возвращен вместо этого.Специальные замечания
Номер версии применяется к
NSArchiver/NSUnarchiver, но не кNSKeyedArchiver/NSKeyedUnarchiver. Включенный archiver не кодирует номера версии класса.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
+ setVersion:versionForClassName:(NSCoder)
-
Возвращает массив
NSStringобъекты, содержащие имена неизменных значений, которые содержат экземпляры класса получателя.Объявление
Swift
var attributeKeys: [AnyObject] { get }Objective C
@property(readonly, copy) NSArray *attributeKeysВозвращаемое значение
Массив
NSStringобъекты, содержащие имена неизменных значений, которые содержат экземпляры класса получателя.Обсуждение
NSObjectреализацияattributeKeysпросто вызовы[[self classDescription] attributeKeys]. Для использования реализации по умолчанию необходимо поэтому реализовать и зарегистрироваться, подходящее описание класса — посмотритеNSClassDescription. Описание класса, описывающее Объекты видеоклипа, могло, например, возвратить ключи атрибутаtitle,dateReleased, иrating.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает объект, содержащий информацию об атрибутах и отношениях класса получателя.
Объявление
Swift
@NSCopying var classDescription: NSClassDescription { get }Objective C
@property(readonly, copy) NSClassDescription *classDescriptionВозвращаемое значение
Объект, содержащий информацию об атрибутах и отношениях класса получателя.
Обсуждение
NSObjectреализация просто вызывает[NSClassDescription classDescriptionForClass:[self class]]. ПосмотритеNSClassDescriptionдля получения дополнительной информации.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Для данного ключа, определяющего имя отношения от класса получателя до другого класса, возвращает имя отношения от другого класса до класса получателя.
Объявление
Параметры
relationshipKeyИмя отношения от класса получателя до другого класса.
Возвращаемое значение
Имя отношения, которое является инверсией названного отношения получателя
relationshipKey.Обсуждение
NSObjectреализацияinverseForRelationshipKey:просто вызывает[[self classDescription] inverseForRelationshipKey:relationshipKey]. Для использования реализации по умолчанию необходимо поэтому реализовать и зарегистрироваться, подходящее описание класса — посмотритеNSClassDescription.Например, предположите, что классу Сотрудника назвали отношение
departmentк классу Отдела и тому Отделу вызвали отношениеemployeesСотруднику. Оператор:employee inverseForRelationshipKey:@"department"];
возвращает строку
employees.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Массив возвратов, содержащий ключи для к - много свойств отношения получателя.
Объявление
Swift
var toManyRelationshipKeys: [AnyObject] { get }Objective C
@property(readonly, copy) NSArray *toManyRelationshipKeysВозвращаемое значение
Массив, содержащий ключи для к - много свойств отношения получателя (если таковые имеются).
Обсуждение
NSObjectреализация просто вызывает[[self classDescription] toManyRelationshipKeys]. Для использования реализации по умолчанию необходимо поэтому реализовать и зарегистрироваться, подходящее описание класса — посмотритеNSClassDescription.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает ключи для к - свойства отношения получателя, если таковые имеются.
Объявление
Swift
var toOneRelationshipKeys: [AnyObject] { get }Objective C
@property(readonly, copy) NSArray *toOneRelationshipKeysВозвращаемое значение
Массив, содержащий ключи для к - свойства отношения получателя.
Обсуждение
NSObjectреализацияtoOneRelationshipKeysпросто вызывает[[self classDescription] toOneRelationshipKeys]. Для использования реализации по умолчанию необходимо поэтому реализовать и зарегистрироваться, подходящее описание класса — посмотритеNSClassDescription.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает код типа события Apple получателя, как сохраненный в
NSScriptClassDescriptionобъект для класса объекта.Объявление
Swift
var classCode: FourCharCode { get }Objective C
@property(readonly) FourCharCode classCodeВозвращаемое значение
Код типа события Apple получателя, как сохраненный в
NSScriptClassDescriptionобъект для класса объекта.Обсуждение
Этот метод вызывается классами поддержки сценариев Какао.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Возвращает строку, содержащую имя класса.
Объявление
Swift
var className: String { get }Objective C
@property(readonly, copy) NSString *classNameВозвращаемое значение
Строка, содержащая имя класса.
Обсуждение
Этот метод вызывается классами поддержки сценариев Какао.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Создает и возвращает один или несколько объектов сценариев, которые будут вставлены в указанное отношение путем копирования переданного - в значении и установки свойств в скопированном объекте или объектах.
Объявление
Swift
func copyScriptingValue(_value: AnyObject!, forKeykey: String, withPropertiesproperties: [NSObject : AnyObject]!) -> AnyObject?Objective C
- (id)copyScriptingValue:(id)valueforKey:(NSString *)keywithProperties:(NSDictionary *)propertiesПараметры
valueОбъект или объекты, которые будут скопированы. Тип должен соответствовать тип свойства, идентифицированного
key. (См. также раздел Discussion.)Например, если свойство к - многие отношение,
valueвсегда будет массив объектов, которые будут скопированы, и этот метод должен поэтому возвратить массив объектов.keyКлюч, идентифицирующий отношение, в которое можно вставить скопированный объект или объекты.
propertiesСвойства, которые будут установлены в скопированном объекте или объектах. Полученный из «со свойствами» параметр a
duplicateкоманда. (См. также раздел Discussion.)Возвращаемое значение
Скопированный объект или объекты. Возвраты
nilесли происходит ошибка.Обсуждение
Можно переопределить
copyScriptingValueметод для взятия на себя большего количества управления, когда заявление послано aduplicateкоманда. Этот метод вызывается на предполагаемый контейнер скопированного объекта или объектов.propertiesполучены изwith propertiesпараметрduplicateкоманда. Возвращенные объекты или объекты тогда вставляются в контейнер с помощью кодирования значения ключа.Когда этот метод будет вызван Какао, ни значение, ни свойства еще не будут принуждены с помощью
NSScriptKeyValueCodingметодcoerceValue:forKey:. Для sdef-заявленного scriptability, однако, типы переданного - в объектах надежно соответствуют соответствующие sdef объявления.Реализация по умолчанию этого метода копии, пишущие сценарий объектов путем отправки
copyWithZone:к объекту или объектам, указаннымvalue. Вы переопределяете этот метод для ситуаций, где это не достаточно, такой как в Базовых Применениях данных, в которых новые объекты должны быть инициализированы с[NSManagedObject initWithEntity:insertIntoManagedObjectContext:].Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
newScriptingObjectOfClass (_: forValueForKey:withContentsValue:properties:) - newScriptingObjectOfClass:forValueForKey:withContentsValue:properties:Создает и возвращает экземпляр scriptable класса, устанавливая его содержание и свойства, для вставки в отношение, идентифицированное ключом.
Объявление
Swift
func newScriptingObjectOfClass(_class: AnyClass!, forValueForKeykey: String, withContentsValuecontentsValue: AnyObject?, propertiesproperties: [NSObject : AnyObject]!) -> AnyObject?Objective C
- (id)newScriptingObjectOfClass:(Class)classforValueForKey:(NSString *)keywithContentsValue:(id)contentsValueproperties:(NSDictionary *)propertiesПараметры
classКласс scriptable объекта, который будет создаваться.
keyКлюч, идентифицирующий отношение, в которое будет вставлен новый объект класса.
contentsValueУказывает содержание объекта, который будет создаваться. Это может быть
nil. (См. также раздел Discussion.)propertiesСвойства, которые будут установлены в новом объекте. (См. также раздел Discussion.)
Возвращаемое значение
Новый объект. Возвраты
nilесли происходит ошибка.Обсуждение
Можно переопределить
newScriptingObjectOfClassметод для взятия на себя большего количества управления, когда заявление послано amakeкоманда. Этот метод вызывается на предполагаемый контейнер нового объекта.contentsValueиpropertiesполучены изwith contentsиwith propertiesпараметрыmakeкоманда. Возвращенные объекты или объекты тогда вставляются в контейнер с помощью кодирования значения ключа.Когда этот метод будет вызван Какао, ни значение содержания, ни свойства еще не будут принуждены с помощью
NSScriptKeyValueCodingметодcoerceValue:forKey:. Для sdef-заявленного scriptability, однако, типы переданного - в объектах надежно соответствуют соответствующие sdef объявления.Реализация по умолчанию этого метода создает новые объекты сценариев путем отправки
allocк классу иinitк полученному объекту. Вы переопределяете этот метод для ситуаций, где это не достаточно, такой как в Базовых Применениях данных, в которых новые объекты должны быть инициализированы с[NSManagedObject initWithEntity:insertIntoManagedObjectContext:].Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
Возвраты
NSString- включенный словарь scriptable свойств получателя.Объявление
Swift
var scriptingProperties: [NSObject : AnyObject]!Objective C
@property(copy) NSDictionary *scriptingPropertiesВозвращаемое значение
NSString- включенный словарь scriptable свойств получателя, включая всех тех, которые объявляются как Атрибуты и ToOneRelationships в.scriptSuiteзаписи списка свойств для класса и его суперклассов сценариев, за исключением, включенных «scriptingProperties». Каждый ключ в словаре должен быть идентичен ключу для Атрибута или ToOneRelationship. Значения словаря должны быть объектами Objective C, которые конвертируемы кNSAppleEventDescriptorобъекты.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Данный
NSString- включенный словарь, наборы один или несколько scriptable свойства получателя.Объявление
Swift
var scriptingProperties: [NSObject : AnyObject]!Objective C
@property(copy) NSDictionary *scriptingPropertiesПараметры
propertiesСловарь, содержащий один или несколько scriptable свойства получателя. Допустимые ключи для словаря включают ключи для неатрибутов «только для чтения» и ToOneRelationships в
.scriptSuiteзаписи списка свойств для класса объекта и его суперклассов сценариев и никаких других. Значения словаря являются объектами Objective C.Обсуждение
Invokers этого метода, должно быть, уже сделал любую необходимую проверку, чтобы гарантировать, что словарь свойств включает только записи для заявленного, устанавливаемого, Атрибутов и ToOneRelationships. Реализации этого метода, как ожидают, не проверят законность ключей в переданном - в словаре, но должны быть в состоянии принять словари, не содержащие записи для каждого scriptable свойства. Реализации этого метода должны выполнить тип, проверяющий значения словаря.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 и позже.
См. также
-
Учитывая объектный спецификатор, возвращает указанный объект или объекты в контейнере получения.
Объявление
Swift
func scriptingValueForSpecifier(_objectSpecifier: NSScriptObjectSpecifier!) -> AnyObject!Objective C
- (id)scriptingValueForSpecifier:(NSScriptObjectSpecifier *)objectSpecifierПараметры
objectSpecifierОбъектный спецификатор, который будет оценен.
Возвращаемое значение
Указанный объект или объекты в контейнере получения.
Этот метод мог бы успешно возвратить объект, массив объектов, или
nil, В зависимости от вида объектного спецификатора. Посколькуnilдопустимое возвращаемое значение, отказ сообщен путем вызова объектного спецификатораsetEvaluationError:метод перед возвратом.Обсуждение
Можно переопределить этот метод для настройки оценки объектных спецификаторов, не требуя, чтобы контейнер сценариев составил индексы для содержащих в нем объектов, естественно не имеющих индексов (как может иметь место, если Вы реализуете
indicesOfObjectsByEvaluatingObjectSpecifier:вместо этого).Ваше переопределение этого метода не должно также вызывать ни один из
NSScriptCommandсигнальные методы ошибки, хотя это может, для записи очень определенной информации.NSUnknownKeySpecifierErrorиNSInvalidIndexSpecifierErrorчисла являются особенными, в котором Какао может продолжать оценивать внешний спецификатор, если с ними встречаются для удобства сценаристов.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.5 и позже.
-
Сборщик «мусора» вызывает этот метод на получатель перед избавлением от памяти, которую это использует.
Сборка «мусора» осуждается в OS X v10.8; вместо этого, необходимо использовать Автоматический Подсчет ссылок — посмотрите Переход к Информации о версии ARC.
Объявление
Swift
func finalize()Objective C
- (void)finalizeОбсуждение
Сборщик «мусора» вызывает этот метод на получатель перед избавлением от памяти, которую это использует. Когда сборка «мусора» включена, этот метод вызывается вместо
dealloc.Можно переопределить этот метод для отказа от, снабжает получатель ресурсами, получил, как показано в следующем примере:
- (void)finalize {if (log_file != NULL) {fclose(log_file);log_file = NULL;}[super finalize];}
Как правило, однако, Вы призваны оставить ресурсы до завершения если вообще возможный. Для получения дополнительной информации посмотрите Реализацию завершить Метода.
Специальные замечания
Это - ошибка сохранить
selfв новый или существующий живой объект (в разговорной речи известный как «восстановление»), который подразумевает, что этот метод вызовут только один раз. Однако получатель может быть передан после завершения другими объектами, также завершаемыми в это время, таким образом, Ваше переопределение должно принять меры против будущего использования ресурсов, в отношении которых предъявили претензии, как показаноlog_file = NULLоператор в примере.finalizeсам метод никогда не будет вызываться несколько раз для данного объекта.Оператор импорта
Objective C
@import ObjectiveC;Swift
import ObjectiveCДоступность
Доступный в OS X v10.4 и позже.
См. также
-
poseAsClass: + poseAsClass:(OS X v10.5)Заставляет класс получения изображать из себя указанный суперкласс.
Объявление
Objective C
+ (void)poseAsClass:(Class)aClassПараметры
aClassСуперкласс получателя.
Обсуждение
Получатель занимает место
aClassв иерархии наследования; все сообщения отправили кaClassбудет фактически поставлен получателю. Получатель должен быть определен как подклассaClass. Это не может объявить новые собственные переменные экземпляра, но это может определить новые методы и переопределенные методы, определенные вaClass.poseAsClass:сообщение должно быть отправлено, прежде чем любые сообщения отправляются вaClassи перед любыми экземплярамиaClassсоздаются.Это средство позволяет Вам добавлять методы к существующему классу путем определения их в подклассе и наличия замены подкласса для существующего класса. Новые определения метода будут наследованы всеми подклассами суперкласса. Необходимо соблюдать осторожность, чтобы гарантировать, чтобы унаследованные методы не генерировали ошибки.
Подкласс, изображающий из себя его суперкласс все еще, наследовался от суперкласса. Поэтому ни одна из функциональности суперкласса не потеряна в замене. Изложение не изменяет определение ни одного класса.
Изложение полезно как средство отладки, но определения категории являются менее сложным и более эффективным способом увеличить существующие классы. Изложение допускает только две возможности, отсутствующие в категориях:
Метод, определенный классом изложения, может переопределить любой метод, определенный его суперклассом. Методы, определенные в категориях, могут заменить методы, определенные в надлежащем классе, но они не могут надежно заменить методы, определенные в других категориях. Если две категории определят тот же метод, то одно из определений будет преобладать, но нет никакой гарантии который.
Метод, определенный классом изложения, может через сообщение к
super, включите метод суперкласса, который это переопределяет. Метод, определенный в категории, может заменить метод, определенный в другом месте классом, но это не может включить метод, который это заменяет.
Специальные замечания
Изложение осуждается в OS X v10.5.
poseAsClass:метод не доступен в 64-разрядных приложениях в OS X v10.5.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.0 и позже.
Осуждаемый в OS X v10.5.
Не доступный 64-разрядным приложениям.
