NSObject
Наследование
-
NSObject
-
ACAccount
-
ACAccountCredential
-
ACAccountStore
-
ACAccountType
-
ADClient
-
ADInterstitialAd
-
ALAsset
-
ALAssetRepresentation
-
ALAssetsFilter
-
ALAssetsGroup
-
ALAssetsLibrary
-
ASIdentifierManager
-
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
-
AVAudioSession
-
AVAudioSessionChannelDescription
-
AVAudioSessionDataSourceDescription
-
AVAudioSessionPortDescription
-
AVAudioSessionRouteDescription
-
AVAudioTime
-
AVAudioUnitEQFilterParameters
-
AVCaptureAudioChannel
-
AVCaptureBracketedStillImageSettings
-
AVCaptureConnection
-
AVCaptureDevice
-
AVCaptureDeviceFormat
-
AVCaptureInput
-
AVCaptureInputPort
-
AVCaptureOutput
-
AVCaptureSession
-
AVFrameRateRange
-
AVMIDIPlayer
-
AVMediaSelectionGroup
-
AVMediaSelectionOption
-
AVMetadataItem
-
AVMetadataItemFilter
-
AVMetadataObject
-
AVOutputSettingsAssistant
-
AVPlayer
-
AVPlayerItem
-
AVPlayerItemAccessLog
-
AVPlayerItemAccessLogEvent
-
AVPlayerItemErrorLog
-
AVPlayerItemErrorLogEvent
-
AVPlayerItemOutput
-
AVPlayerItemTrack
-
AVPlayerMediaSelectionCriteria
-
AVSpeechSynthesisVoice
-
AVSpeechSynthesizer
-
AVSpeechUtterance
-
AVTextStyleRule
-
AVTimedMetadataGroup
-
AVVideoComposition
-
AVVideoCompositionCoreAnimationTool
-
AVVideoCompositionInstruction
-
AVVideoCompositionLayerInstruction
-
AVVideoCompositionRenderContext
-
CAAnimation
-
CADisplayLink
-
CAEmitterBehavior
-
CAEmitterCell
-
CALayer
-
CAMediaTimingFunction
-
CATransaction
-
CAValueFunction
-
CBATTRequest
-
CBAttribute
-
CBCentralManager
-
CBPeer
-
CBPeripheralManager
-
CBUUID
-
CIColor
-
CIContext
-
CIDetector
-
CIFeature
-
CIFilter
-
CIImage
-
CIKernel
-
CIVector
-
CKAsset
-
CKContainer
-
CKDatabase
-
CKDiscoveredUserInfo
-
CKNotification
-
CKNotificationID
-
CKNotificationInfo
-
CKQuery
-
CKQueryCursor
-
CKRecord
-
CKRecordID
-
CKRecordZone
-
CKRecordZoneID
-
CKReference
-
CKServerChangeToken
-
CKSubscription
-
CLBeacon
-
CLFloor
-
CLGeocoder
-
CLHeading
-
CLLocation
-
CLLocationManager
-
CLPlacemark
-
CLRegion
-
CLVisit
-
CMAltimeter
-
CMAttitude
-
CMLogItem
-
CMMotionActivityManager
-
CMMotionManager
-
CMPedometer
-
CMPedometerData
-
CMStepCounter
-
CTCall
-
CTCallCenter
-
CTCarrier
-
CTSubscriber
-
CTSubscriberInfo
-
CTTelephonyNetworkInfo
-
EAAccessory
-
EAAccessoryManager
-
EAGLContext
-
EAGLSharegroup
-
EASession
-
EAWiFiUnconfiguredAccessory
-
EAWiFiUnconfiguredAccessoryBrowser
-
EKEventStore
-
EKObject
-
EKRecurrenceDayOfWeek
-
EKRecurrenceEnd
-
GCController
-
GCControllerElement
-
GCExtendedGamepad
-
GCGamepad
-
GCMotion
-
GKAchievement
-
GKAchievementDescription
-
GKChallenge
-
GKInvite
-
GKLeaderboard
-
GKLeaderboardSet
-
GKMatch
-
GKMatchRequest
-
GKMatchmaker
-
GKNotificationBanner
-
GKPlayer
-
GKSavedGame
-
GKScore
-
GKTurnBasedExchange
-
GKTurnBasedExchangeReply
-
GKTurnBasedMatch
-
GKTurnBasedParticipant
-
GKVoiceChat
-
GLKBaseEffect
-
GLKEffectProperty
-
GLKSkyboxEffect
-
GLKTextureInfo
-
GLKTextureLoader
-
HKBiologicalSexObject
-
HKBloodTypeObject
-
HKHealthStore
-
HKObject
-
HKObjectType
-
HKQuantity
-
HKQuery
-
HKSource
-
HKStatistics
-
HKStatisticsCollection
-
HKUnit
-
HKWorkoutEvent
-
HMAccessory
-
HMAccessoryBrowser
-
HMAction
-
HMActionSet
-
HMCharacteristic
-
HMCharacteristicMetadata
-
HMHome
-
HMHomeManager
-
HMRoom
-
HMService
-
HMServiceGroup
-
HMTrigger
-
HMUser
-
HMZone
-
JSContext
-
JSManagedValue
-
JSValue
-
JSVirtualMachine
-
LAContext
-
MCAdvertiserAssistant
-
MCNearbyServiceAdvertiser
-
MCNearbyServiceBrowser
-
MCPeerID
-
MCSession
-
MIDINetworkConnection
-
MIDINetworkHost
-
MIDINetworkSession
-
MKDirections
-
MKDirectionsRequest
-
MKDirectionsResponse
-
MKETAResponse
-
MKLocalSearch
-
MKLocalSearchRequest
-
MKLocalSearchResponse
-
MKMapCamera
-
MKMapItem
-
MKMapSnapshot
-
MKMapSnapshotOptions
-
MKMapSnapshotter
-
MKOverlayRenderer
-
MKRoute
-
MKRouteStep
-
MKShape
-
MKTileOverlay
-
MKUserLocation
-
MPContentItem
-
MPMediaEntity
-
MPMediaItemArtwork
-
MPMediaLibrary
-
MPMediaPredicate
-
MPMediaQuery
-
MPMediaQuerySection
-
MPMovieAccessLog
-
MPMovieAccessLogEvent
-
MPMovieErrorLog
-
MPMovieErrorLogEvent
-
MPMoviePlayerController
-
MPMusicPlayerController
-
MPNowPlayingInfoCenter
-
MPPlayableContentManager
-
MPRemoteCommand
-
MPRemoteCommandCenter
-
MPRemoteCommandEvent
-
MPTimedMetadata
-
MTLArgument
-
MTLArrayType
-
MTLCompileOptions
-
MTLComputePipelineReflection
-
MTLDepthStencilDescriptor
-
MTLRenderPassAttachmentDescriptor
-
MTLRenderPassColorAttachmentDescriptorArray
-
MTLRenderPassDescriptor
-
MTLRenderPipelineColorAttachmentDescriptor
-
MTLRenderPipelineColorAttachmentDescriptorArray
-
MTLRenderPipelineDescriptor
-
MTLRenderPipelineReflection
-
MTLSamplerDescriptor
-
MTLStencilDescriptor
-
MTLStructMember
-
MTLStructType
-
MTLTextureDescriptor
-
MTLVertexAttribute
-
MTLVertexAttributeDescriptor
-
MTLVertexAttributeDescriptorArray
-
MTLVertexBufferLayoutDescriptor
-
MTLVertexBufferLayoutDescriptorArray
-
MTLVertexDescriptor
-
NCWidgetController
-
NEEvaluateConnectionRule
-
NEOnDemandRule
-
NEVPNConnection
-
NEVPNIKEv2SecurityAssociationParameters
-
NEVPNManager
-
NEVPNProtocol
-
NKAssetDownload
-
NKIssue
-
NKLibrary
-
NSArray
-
NSAssertionHandler
-
NSAtomicStoreCacheNode
-
NSAttributedString
-
NSBundle
-
NSCache
-
NSCachedURLResponse
-
NSCalendar
-
NSCharacterSet
-
NSCoder
-
NSCondition
-
NSConditionLock
-
NSData
-
NSDate
-
NSDateComponents
-
NSDecimalNumberHandler
-
NSDictionary
-
NSEntityDescription
-
NSEntityMapping
-
NSEntityMigrationPolicy
-
NSEnumerator
-
NSError
-
NSException
-
NSExpression
-
NSExtensionContext
-
NSExtensionItem
-
NSFetchedResultsController
-
NSFileAccessIntent
-
NSFileCoordinator
-
NSFileHandle
-
NSFileManager
-
NSFileProviderExtension
-
NSFileSecurity
-
NSFileVersion
-
NSFileWrapper
-
NSFormatter
-
NSHTTPCookie
-
NSHTTPCookieStorage
-
NSHashTable
-
NSIncrementalStoreNode
-
NSIndexPath
-
NSIndexSet
-
NSItemProvider
-
NSJSONSerialization
-
NSLayoutConstraint
-
NSLayoutManager
-
NSLinguisticTagger
-
NSLocale
-
NSLock
-
NSManagedObject
-
NSManagedObjectContext
-
NSManagedObjectID
-
NSManagedObjectModel
-
NSMapTable
-
NSMappingModel
-
NSMergeConflict
-
NSMergePolicy
-
NSMetadataItem
-
NSMetadataQuery
-
NSMetadataQueryAttributeValueTuple
-
NSMetadataQueryResultGroup
-
NSMigrationManager
-
NSNetService
-
NSNetServiceBrowser
-
NSNotification
-
NSNotificationCenter
-
NSNotificationQueue
-
NSNull
-
NSOperation
-
NSOperationQueue
-
NSOrderedSet
-
NSOrthography
-
NSParagraphStyle
-
NSPersistentStore
-
NSPersistentStoreCoordinator
-
NSPersistentStoreRequest
-
NSPersistentStoreResult
-
NSPipe
-
NSPointerArray
-
NSPointerFunctions
-
NSPort
-
NSPredicate
-
NSProcessInfo
-
NSProgress
-
NSPropertyDescription
-
NSPropertyListSerialization
-
NSPropertyMapping
-
NSRecursiveLock
-
NSRegularExpression
-
NSRunLoop
-
NSScanner
-
NSSet
-
NSShadow
-
NSSortDescriptor
-
NSStream
-
NSString
-
NSStringDrawingContext
-
NSTextAttachment
-
NSTextCheckingResult
-
NSTextContainer
-
NSTextTab
-
NSThread
-
NSTimeZone
-
NSTimer
-
NSURL
-
NSURLAuthenticationChallenge
-
NSURLCache
-
NSURLComponents
-
NSURLConnection
-
NSURLCredential
-
NSURLCredentialStorage
-
NSURLProtectionSpace
-
NSURLProtocol
-
NSURLQueryItem
-
NSURLRequest
-
NSURLResponse
-
NSURLSession
-
NSURLSessionConfiguration
-
NSURLSessionTask
-
NSUUID
-
NSUbiquitousKeyValueStore
-
NSUndoManager
-
NSUserActivity
-
NSUserDefaults
-
NSValue
-
NSValueTransformer
-
NSXMLParser
-
PHAdjustmentData
-
PHAssetChangeRequest
-
PHAssetCollectionChangeRequest
-
PHChange
-
PHCollectionListChangeRequest
-
PHContentEditingInput
-
PHContentEditingInputRequestOptions
-
PHContentEditingOutput
-
PHFetchOptions
-
PHFetchResult
-
PHFetchResultChangeDetails
-
PHImageManager
-
PHImageRequestOptions
-
PHObject
-
PHObjectChangeDetails
-
PHPhotoLibrary
-
PHVideoRequestOptions
-
PKObject
-
PKPassLibrary
-
PKPayment
-
PKPaymentRequest
-
PKPaymentSummaryItem
-
PKPaymentToken
-
PKPushCredentials
-
PKPushPayload
-
PKPushRegistry
-
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
-
SKAction
-
SKConstraint
-
SKDownload
-
SKKeyframeSequence
-
SKPayment
-
SKPaymentQueue
-
SKPaymentTransaction
-
SKPhysicsBody
-
SKPhysicsContact
-
SKPhysicsJoint
-
SKPhysicsWorld
-
SKProduct
-
SKProductsResponse
-
SKRange
-
SKReachConstraints
-
SKRegion
-
SKRequest
-
SKShader
-
SKTexture
-
SKTextureAtlas
-
SKTransition
-
SKUniform
-
SLComposeSheetConfigurationItem
-
SLRequest
-
SSReadingList
-
UIAccessibilityCustomAction
-
UIAccessibilityElement
-
UIActivity
-
UIAlertAction
-
UIBarItem
-
UIBezierPath
-
UICollectionViewLayout
-
UICollectionViewLayoutAttributes
-
UICollectionViewLayoutInvalidationContext
-
UICollectionViewUpdateItem
-
UIColor
-
UIDevice
-
UIDictationPhrase
-
UIDocument
-
UIDocumentInteractionController
-
UIDynamicAnimator
-
UIDynamicBehavior
-
UIEvent
-
UIFont
-
UIFontDescriptor
-
UIGestureRecognizer
-
UIImage
-
UIImageAsset
-
UIKeyCommand
-
UILexicon
-
UILexiconEntry
-
UILocalNotification
-
UILocalizedIndexedCollation
-
UIMenuController
-
UIMenuItem
-
UIMotionEffect
-
UINavigationItem
-
UINib
-
UIPasteboard
-
UIPercentDrivenInteractiveTransition
-
UIPopoverController
-
UIPresentationController
-
UIPrintFormatter
-
UIPrintInfo
-
UIPrintInteractionController
-
UIPrintPageRenderer
-
UIPrintPaper
-
UIPrinter
-
UIPrinterPickerController
-
UIResponder
-
UIScreen
-
UIScreenMode
-
UISearchDisplayController
-
UIStoryboard
-
UIStoryboardSegue
-
UITableViewRowAction
-
UITextChecker
-
UITextInputMode
-
UITextInputStringTokenizer
-
UITextPosition
-
UITextRange
-
UITextSelectionRect
-
UITouch
-
UITraitCollection
-
UIUserNotificationAction
-
UIUserNotificationCategory
-
UIUserNotificationSettings
-
UIVisualEffect
-
WKAccessibilityImageRegion
-
WKBackForwardList
-
WKBackForwardListItem
-
WKFrameInfo
-
WKInterfaceController
-
WKInterfaceDevice
-
WKInterfaceObject
-
WKNavigation
-
WKNavigationAction
-
WKNavigationResponse
-
WKPreferences
-
WKProcessPool
-
WKScriptMessage
-
WKUserContentController
-
WKUserScript
-
WKWebViewConfiguration
-
WKWindowFeatures
-
NSObject
-
ACAccount
-
ACAccountCredential
-
ACAccountStore
-
ACAccountType
-
ADClient
-
ADInterstitialAd
-
ALAsset
-
ALAssetRepresentation
-
ALAssetsFilter
-
ALAssetsGroup
-
ALAssetsLibrary
-
ASIdentifierManager
-
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
-
AVAudioSession
-
AVAudioSessionChannelDescription
-
AVAudioSessionDataSourceDescription
-
AVAudioSessionPortDescription
-
AVAudioSessionRouteDescription
-
AVAudioTime
-
AVAudioUnitEQFilterParameters
-
AVCaptureAudioChannel
-
AVCaptureBracketedStillImageSettings
-
AVCaptureConnection
-
AVCaptureDevice
-
AVCaptureDeviceFormat
-
AVCaptureInput
-
AVCaptureInputPort
-
AVCaptureOutput
-
AVCaptureSession
-
AVFrameRateRange
-
AVMIDIPlayer
-
AVMediaSelectionGroup
-
AVMediaSelectionOption
-
AVMetadataItem
-
AVMetadataItemFilter
-
AVMetadataObject
-
AVOutputSettingsAssistant
-
AVPlayer
-
AVPlayerItem
-
AVPlayerItemAccessLog
-
AVPlayerItemAccessLogEvent
-
AVPlayerItemErrorLog
-
AVPlayerItemErrorLogEvent
-
AVPlayerItemOutput
-
AVPlayerItemTrack
-
AVPlayerMediaSelectionCriteria
-
AVSpeechSynthesisVoice
-
AVSpeechSynthesizer
-
AVSpeechUtterance
-
AVTextStyleRule
-
AVTimedMetadataGroup
-
AVVideoComposition
-
AVVideoCompositionCoreAnimationTool
-
AVVideoCompositionInstruction
-
AVVideoCompositionLayerInstruction
-
AVVideoCompositionRenderContext
-
CAAnimation
-
CADisplayLink
-
CAEmitterBehavior
-
CAEmitterCell
-
CALayer
-
CAMediaTimingFunction
-
CATransaction
-
CAValueFunction
-
CBATTRequest
-
CBAttribute
-
CBCentralManager
-
CBPeer
-
CBPeripheralManager
-
CBUUID
-
CIColor
-
CIContext
-
CIDetector
-
CIFeature
-
CIFilter
-
CIImage
-
CIKernel
-
CIVector
-
CKAsset
-
CKContainer
-
CKDatabase
-
CKDiscoveredUserInfo
-
CKNotification
-
CKNotificationID
-
CKNotificationInfo
-
CKQuery
-
CKQueryCursor
-
CKRecord
-
CKRecordID
-
CKRecordZone
-
CKRecordZoneID
-
CKReference
-
CKServerChangeToken
-
CKSubscription
-
CLBeacon
-
CLFloor
-
CLGeocoder
-
CLHeading
-
CLLocation
-
CLLocationManager
-
CLPlacemark
-
CLRegion
-
CLVisit
-
CMAltimeter
-
CMAttitude
-
CMLogItem
-
CMMotionActivityManager
-
CMMotionManager
-
CMPedometer
-
CMPedometerData
-
CMStepCounter
-
CTCall
-
CTCallCenter
-
CTCarrier
-
CTSubscriber
-
CTSubscriberInfo
-
CTTelephonyNetworkInfo
-
EAAccessory
-
EAAccessoryManager
-
EAGLContext
-
EAGLSharegroup
-
EASession
-
EAWiFiUnconfiguredAccessory
-
EAWiFiUnconfiguredAccessoryBrowser
-
EKEventStore
-
EKObject
-
EKRecurrenceDayOfWeek
-
EKRecurrenceEnd
-
GCController
-
GCControllerElement
-
GCExtendedGamepad
-
GCGamepad
-
GCMotion
-
GKAchievement
-
GKAchievementDescription
-
GKChallenge
-
GKChallengeEventHandler
-
GKInvite
-
GKLeaderboard
-
GKLeaderboardSet
-
GKMatch
-
GKMatchRequest
-
GKMatchmaker
-
GKNotificationBanner
-
GKPeerPickerController
-
GKPlayer
-
GKSavedGame
-
GKScore
-
GKSession
-
GKTurnBasedEventHandler
-
GKTurnBasedExchange
-
GKTurnBasedExchangeReply
-
GKTurnBasedMatch
-
GKTurnBasedParticipant
-
GKVoiceChat
-
GKVoiceChatService
-
GLKBaseEffect
-
GLKEffectProperty
-
GLKSkyboxEffect
-
GLKTextureInfo
-
GLKTextureLoader
-
HKBiologicalSexObject
-
HKBloodTypeObject
-
HKHealthStore
-
HKObject
-
HKObjectType
-
HKQuantity
-
HKQuery
-
HKSource
-
HKStatistics
-
HKStatisticsCollection
-
HKUnit
-
HKWorkoutEvent
-
HMAccessory
-
HMAccessoryBrowser
-
HMAction
-
HMActionSet
-
HMCharacteristic
-
HMCharacteristicMetadata
-
HMHome
-
HMHomeManager
-
HMRoom
-
HMService
-
HMServiceGroup
-
HMTrigger
-
HMUser
-
HMZone
-
JSContext
-
JSManagedValue
-
JSValue
-
JSVirtualMachine
-
LAContext
-
MCAdvertiserAssistant
-
MCNearbyServiceAdvertiser
-
MCNearbyServiceBrowser
-
MCPeerID
-
MCSession
-
MIDINetworkConnection
-
MIDINetworkHost
-
MIDINetworkSession
-
MKDirections
-
MKDirectionsRequest
-
MKDirectionsResponse
-
MKETAResponse
-
MKLocalSearch
-
MKLocalSearchRequest
-
MKLocalSearchResponse
-
MKMapCamera
-
MKMapItem
-
MKMapSnapshot
-
MKMapSnapshotOptions
-
MKMapSnapshotter
-
MKOverlayRenderer
-
MKReverseGeocoder
-
MKRoute
-
MKRouteStep
-
MKShape
-
MKTileOverlay
-
MKUserLocation
-
MPContentItem
-
MPMediaEntity
-
MPMediaItemArtwork
-
MPMediaLibrary
-
MPMediaPredicate
-
MPMediaQuery
-
MPMediaQuerySection
-
MPMovieAccessLog
-
MPMovieAccessLogEvent
-
MPMovieErrorLog
-
MPMovieErrorLogEvent
-
MPMoviePlayerController
-
MPMusicPlayerController
-
MPNowPlayingInfoCenter
-
MPPlayableContentManager
-
MPRemoteCommand
-
MPRemoteCommandCenter
-
MPRemoteCommandEvent
-
MPTimedMetadata
-
MTLArgument
-
MTLArrayType
-
MTLCompileOptions
-
MTLComputePipelineReflection
-
MTLDepthStencilDescriptor
-
MTLRenderPassAttachmentDescriptor
-
MTLRenderPassColorAttachmentDescriptorArray
-
MTLRenderPassDescriptor
-
MTLRenderPipelineColorAttachmentDescriptor
-
MTLRenderPipelineColorAttachmentDescriptorArray
-
MTLRenderPipelineDescriptor
-
MTLRenderPipelineReflection
-
MTLSamplerDescriptor
-
MTLStencilDescriptor
-
MTLStructMember
-
MTLStructType
-
MTLTextureDescriptor
-
MTLVertexAttribute
-
MTLVertexAttributeDescriptor
-
MTLVertexAttributeDescriptorArray
-
MTLVertexBufferLayoutDescriptor
-
MTLVertexBufferLayoutDescriptorArray
-
MTLVertexDescriptor
-
NCWidgetController
-
NEEvaluateConnectionRule
-
NEOnDemandRule
-
NEVPNConnection
-
NEVPNIKEv2SecurityAssociationParameters
-
NEVPNManager
-
NEVPNProtocol
-
NKAssetDownload
-
NKIssue
-
NKLibrary
-
NSArray
-
NSAssertionHandler
-
NSAtomicStoreCacheNode
-
NSAttributedString
-
NSAutoreleasePool
-
NSBundle
-
NSCache
-
NSCachedURLResponse
-
NSCalendar
-
NSCharacterSet
-
NSCoder
-
NSCondition
-
NSConditionLock
-
NSData
-
NSDate
-
NSDateComponents
-
NSDecimalNumberHandler
-
NSDictionary
-
NSEntityDescription
-
NSEntityMapping
-
NSEntityMigrationPolicy
-
NSEnumerator
-
NSError
-
NSException
-
NSExpression
-
NSExtensionContext
-
NSExtensionItem
-
NSFetchedResultsController
-
NSFileAccessIntent
-
NSFileCoordinator
-
NSFileHandle
-
NSFileManager
-
NSFileProviderExtension
-
NSFileSecurity
-
NSFileVersion
-
NSFileWrapper
-
NSFormatter
-
NSHTTPCookie
-
NSHTTPCookieStorage
-
NSHashTable
-
NSIncrementalStoreNode
-
NSIndexPath
-
NSIndexSet
-
NSInvocation
-
NSItemProvider
-
NSJSONSerialization
-
NSLayoutConstraint
-
NSLayoutManager
-
NSLinguisticTagger
-
NSLocale
-
NSLock
-
NSManagedObject
-
NSManagedObjectContext
-
NSManagedObjectID
-
NSManagedObjectModel
-
NSMapTable
-
NSMappingModel
-
NSMergeConflict
-
NSMergePolicy
-
NSMetadataItem
-
NSMetadataQuery
-
NSMetadataQueryAttributeValueTuple
-
NSMetadataQueryResultGroup
-
NSMethodSignature
-
NSMigrationManager
-
NSNetService
-
NSNetServiceBrowser
-
NSNotification
-
NSNotificationCenter
-
NSNotificationQueue
-
NSNull
-
NSOperation
-
NSOperationQueue
-
NSOrderedSet
-
NSOrthography
-
NSParagraphStyle
-
NSPersistentStore
-
NSPersistentStoreCoordinator
-
NSPersistentStoreRequest
-
NSPersistentStoreResult
-
NSPipe
-
NSPointerArray
-
NSPointerFunctions
-
NSPort
-
NSPredicate
-
NSProcessInfo
-
NSProgress
-
NSPropertyDescription
-
NSPropertyListSerialization
-
NSPropertyMapping
-
NSRecursiveLock
-
NSRegularExpression
-
NSRunLoop
-
NSScanner
-
NSSet
-
NSShadow
-
NSSortDescriptor
-
NSStream
-
NSString
-
NSStringDrawingContext
-
NSTextAttachment
-
NSTextCheckingResult
-
NSTextContainer
-
NSTextTab
-
NSThread
-
NSTimeZone
-
NSTimer
-
NSURL
-
NSURLAuthenticationChallenge
-
NSURLCache
-
NSURLComponents
-
NSURLConnection
-
NSURLCredential
-
NSURLCredentialStorage
-
NSURLProtectionSpace
-
NSURLProtocol
-
NSURLQueryItem
-
NSURLRequest
-
NSURLResponse
-
NSURLSession
-
NSURLSessionConfiguration
-
NSURLSessionTask
-
NSUUID
-
NSUbiquitousKeyValueStore
-
NSUndoManager
-
NSUserActivity
-
NSUserDefaults
-
NSValue
-
NSValueTransformer
-
NSXMLParser
-
PHAdjustmentData
-
PHAssetChangeRequest
-
PHAssetCollectionChangeRequest
-
PHChange
-
PHCollectionListChangeRequest
-
PHContentEditingInput
-
PHContentEditingInputRequestOptions
-
PHContentEditingOutput
-
PHFetchOptions
-
PHFetchResult
-
PHFetchResultChangeDetails
-
PHImageManager
-
PHImageRequestOptions
-
PHObject
-
PHObjectChangeDetails
-
PHPhotoLibrary
-
PHVideoRequestOptions
-
PKObject
-
PKPassLibrary
-
PKPayment
-
PKPaymentRequest
-
PKPaymentSummaryItem
-
PKPaymentToken
-
PKPushCredentials
-
PKPushPayload
-
PKPushRegistry
-
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
-
SKAction
-
SKConstraint
-
SKDownload
-
SKKeyframeSequence
-
SKPayment
-
SKPaymentQueue
-
SKPaymentTransaction
-
SKPhysicsBody
-
SKPhysicsContact
-
SKPhysicsJoint
-
SKPhysicsWorld
-
SKProduct
-
SKProductsResponse
-
SKRange
-
SKReachConstraints
-
SKRegion
-
SKRequest
-
SKShader
-
SKTexture
-
SKTextureAtlas
-
SKTransition
-
SKUniform
-
SLComposeSheetConfigurationItem
-
SLRequest
-
SSReadingList
-
TWRequest
-
UIAcceleration
-
UIAccelerometer
-
UIAccessibilityCustomAction
-
UIAccessibilityElement
-
UIActivity
-
UIAlertAction
-
UIBarItem
-
UIBezierPath
-
UICollectionViewLayout
-
UICollectionViewLayoutAttributes
-
UICollectionViewLayoutInvalidationContext
-
UICollectionViewUpdateItem
-
UIColor
-
UIDevice
-
UIDictationPhrase
-
UIDocument
-
UIDocumentInteractionController
-
UIDynamicAnimator
-
UIDynamicBehavior
-
UIEvent
-
UIFont
-
UIFontDescriptor
-
UIGestureRecognizer
-
UIImage
-
UIImageAsset
-
UIKeyCommand
-
UILexicon
-
UILexiconEntry
-
UILocalNotification
-
UILocalizedIndexedCollation
-
UIMenuController
-
UIMenuItem
-
UIMotionEffect
-
UINavigationItem
-
UINib
-
UIPasteboard
-
UIPercentDrivenInteractiveTransition
-
UIPopoverController
-
UIPresentationController
-
UIPrintFormatter
-
UIPrintInfo
-
UIPrintInteractionController
-
UIPrintPageRenderer
-
UIPrintPaper
-
UIPrinter
-
UIPrinterPickerController
-
UIResponder
-
UIScreen
-
UIScreenMode
-
UISearchDisplayController
-
UIStoryboard
-
UIStoryboardSegue
-
UITableViewRowAction
-
UITextChecker
-
UITextInputMode
-
UITextInputStringTokenizer
-
UITextPosition
-
UITextRange
-
UITextSelectionRect
-
UITouch
-
UITraitCollection
-
UIUserNotificationAction
-
UIUserNotificationCategory
-
UIUserNotificationSettings
-
UIVisualEffect
-
WKAccessibilityImageRegion
-
WKBackForwardList
-
WKBackForwardListItem
-
WKFrameInfo
-
WKInterfaceController
-
WKInterfaceDevice
-
WKInterfaceObject
-
WKNavigation
-
WKNavigationAction
-
WKNavigationResponse
-
WKPreferences
-
WKProcessPool
-
WKScriptMessage
-
WKUserContentController
-
WKUserScript
-
WKWebViewConfiguration
-
WKWindowFeatures
Оператор импорта
Swift
import ObjectiveC
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
NSObject
корневой класс большинства иерархий классов Objective C. Через NSObject
, объекты наследовали основной интерфейс к системе во время выполнения и возможности вести себя, поскольку возражает Objective C.
-
Инициализирует класс, прежде чем он получит свое первое сообщение.
Объявление
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
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает новый экземпляр класса получения.
Объявление
Swift
class func allocWithZone(_
zone
: NSZone) -> SelfObjective 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
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает объект, возвращенный
copyWithZone:
.Объявление
Swift
func copy() -> AnyObject
Objective C
- (id)copy
Возвращаемое значение
Объект, возвращенный
NSCopying
метод протоколаcopyWithZone:
,.Обсуждение
Это - удобный метод для классов, принимающих
NSCopying
протокол. Если нет никакой реализации для, исключение повышеноcopyWithZone:
.NSObject
самостоятельно не поддерживаетNSCopying
протокол. Подклассы должны поддерживать протокол и реализоватьcopyWithZone:
метод. Версия подклассаcopyWithZone:
метод должен отправить сообщение вsuper
во-первых, для слияния его реализации, если подкласс не убывает непосредственно отNSObject
.Оператор импорта
Objective C
@import ObjectiveC;
Swift
import ObjectiveC
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает получатель.
Объявление
Objective C
+ (id)copyWithZone:(struct _NSZone *)
zone
Параметры
zone
Этот параметр проигнорирован.
Возвращаемое значение
Получатель.
Обсуждение
Этот метод существует, так объекты класса могут использоваться в ситуациях, где Вам нужен объект, соответствующий
NSCopying
протокол. Например, этот метод позволяет Вам использовать объект класса в качестве ключа кNSDictionary
объект. Вы не должны переопределять этот метод.Оператор импорта
Objective C
@import ObjectiveC;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает объект, возвращенный
mutableCopyWithZone:
где зонаnil
.Объявление
Swift
func mutableCopy() -> AnyObject
Objective C
- (id)mutableCopy
Возвращаемое значение
Объект, возвращенный
NSMutableCopying
метод протоколаmutableCopyWithZone:
, где зонаnil
.Обсуждение
Это - удобный метод для классов, принимающих
NSMutableCopying
протокол. Если нет никакой реализации для, исключение повышеноmutableCopyWithZone:
.Оператор импорта
Objective C
@import ObjectiveC;
Swift
import ObjectiveC
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает получатель.
Объявление
Objective C
+ (id)mutableCopyWithZone:(struct _NSZone *)
zone
Параметры
zone
Зона памяти, в которой можно создать копию получателя.
Возвращаемое значение
Получатель.
Обсуждение
Этот метод существует, так объекты класса могут использоваться в ситуациях, где Вам нужен объект, соответствующий
NSMutableCopying
протокол. Например, этот метод позволяет Вам использовать объект класса в качестве ключа кNSDictionary
объект. Вы не должны переопределять этот метод.Оператор импорта
Objective C
@import ObjectiveC;
Доступность
Доступный в iOS 2.0 и позже.
-
Освобождает память, занятую получателем.
Объявление
Objective C
- (void)dealloc
Обсуждение
Последующие сообщения к получателю могут генерировать ошибку при указании, что сообщение было отправлено в освобожденный объект (если освобожденная память еще не была снова использована).
Вы переопределяете этот метод для избавления от ресурсов кроме переменных экземпляра объекта, например:
- (void)dealloc {
free(myBigBlockOfMemory);
}
В реализации
dealloc
, не вызывайте реализацию суперкласса. Необходимо попытаться избежать управлять временем жизни ограниченных ресурсов, таких как использование дескрипторов файловdealloc
.Вы никогда не отправляете a
dealloc
обменивайтесь сообщениями непосредственно. Вместо этого объектdealloc
метод вызывается временем выполнения. Дополнительную информацию см. в Усовершенствованном Руководстве по программированию управления памятью.Специальные замечания
Если не с помощью ARC, реализации
dealloc
должен вызвать реализацию суперкласса как ее последнюю инструкцию.Оператор импорта
Objective C
@import ObjectiveC;
Доступность
Доступный в iOS 2.0 и позже.
-
Выделяет новый экземпляр класса получения, отправляет его
init
сообщение и возвраты инициализированный объект.Объявление
Swift
class func new() -> Self
Objective C
+ (instancetype)new
Возвращаемое значение
Новый экземпляр получателя.
Обсуждение
Этот метод является комбинацией
alloc
иinit
. Какalloc
, это инициализируетisa
переменная экземпляра нового объекта, таким образом, это указывает на структуру данных класса. Это тогда вызываетinit
метод для завершения процесса инициализации.Оператор импорта
Objective C
@import ObjectiveC;
Swift
import ObjectiveC
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает объект класса.
Объявление
Objective C
+ (Class)class
Возвращаемое значение
Объект класса.
Обсуждение
Обратитесь к классу только его именем, когда это будет получатель сообщения. Во всех других случаях объект класса должен быть получен через это или похожий метод. Например, здесь
SomeClass
передается как параметрisKindOfClass:
метод (объявленный вNSObject
протокол):BOOL test = [self isKindOfClass:[SomeClass class]];
Оператор импорта
Objective C
@import ObjectiveC;
Доступность
Доступный в iOS 2.0 и позже.
См. также
class
(NSObject
протокол)NSClassFromString
NSStringFromClass
-
Возвращает объект класса для суперкласса получателя.
Объявление
Swift
class func superclass() -> AnyClass?
Objective C
+ (Class)superclass
Возвращаемое значение
Объект класса для суперкласса получателя.
Оператор импорта
Objective C
@import ObjectiveC;
Swift
import ObjectiveC
Доступность
Доступный в iOS 2.0 и позже.
См. также
+ класс
superclass
(NSObject
протокол) -
Возвращает булево значение, указывающее, является ли класс получения подклассом, или идентичный, данный класс.
Объявление
Swift
class func isSubclassOfClass(_
aClass
: AnyClass) -> BoolObjective C
+ (BOOL)isSubclassOfClass:(Class)
aClass
Параметры
aClass
Объект класса.
Возвращаемое значение
YES
true
если класс получения является подклассом — или идентичный —aClass
, иначеNO
false
.Оператор импорта
Objective C
@import ObjectiveC;
Swift
import ObjectiveC
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает булево значение, указывающее, способны ли экземпляры получателя к ответу на данный селектор.
Объявление
Swift
class func instancesRespondToSelector(_
aSelector
: Selector) -> BoolObjective C
+ (BOOL)instancesRespondToSelector:(SEL)
aSelector
Параметры
aSelector
Возвращаемое значение
YES
true
если экземпляры получателя способны к ответу кaSelector
сообщения, иначеNO
false
.Обсуждение
Если
aSelector
сообщения передаются к другим объектам, экземпляры класса в состоянии получить те сообщения без ошибки даже при том, что возвращается этот методNO
false
.Для выяснения у класса, может ли это, а не его экземпляры, реагировать на определенное сообщение, отправляют к классу вместо этого
NSObject
метод экземпляра протоколаrespondsToSelector:
.Оператор импорта
Objective C
@import ObjectiveC;
Swift
import ObjectiveC
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает булево значение, указывающее, соответствует ли получатель данному протоколу.
Объявление
Swift
class func conformsToProtocol(_ `
aProtocol
`: Protocol) -> BoolObjective C
+ (BOOL)conformsToProtocol:(Protocol *)
aProtocol
Параметры
aProtocol
Протокол.
Возвращаемое значение
YES
true
если получатель соответствуетaProtocol
, иначеNO
false
.Обсуждение
Класс, как говорят, “соответствует” протоколу, если это принимает протокол или наследовалось от другого класса, принимающего его. Протоколы приняты путем перечисления их в угловых скобках после объявления интерфейса. Например, здесь
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
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.0 и позже.
-
Возвраты
NSMethodSignature
объект, содержащий описание метода экземпляра, идентифицированного данным селектором.Объявление
Objective C
+ (NSMethodSignature *)instanceMethodSignatureForSelector:(SEL)
aSelector
Параметры
aSelector
Селектор, идентифицирующий метод, для которого можно возвратить адрес реализации.
Возвращаемое значение
NSMethodSignature
объект, содержащий описание метода экземпляра, идентифицированногоaSelector
, илиnil
если не может быть найден метод.Оператор импорта
Objective C
@import ObjectiveC;
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвраты
NSMethodSignature
объект, содержащий описание метода, идентифицированного данным селектором.Объявление
Objective C
- (NSMethodSignature *)methodSignatureForSelector:(SEL)
aSelector
Параметры
aSelector
Селектор, идентифицирующий метод, для которого можно возвратить адрес реализации. Когда получатель является экземпляром,
aSelector
должен идентифицировать метод экземпляра; когда получатель является классом, он должен идентифицировать метод класса.Возвращаемое значение
NSMethodSignature
объект, содержащий описание метода, идентифицированногоaSelector
, илиnil
если не может быть найден метод.Обсуждение
Этот метод используется в реализации протоколов. Этот метод также используется в ситуациях где
NSInvocation
объект должен быть создан, такой как во время передачи сообщения. Если Ваш объект поддерживает делегата или способен к обработке сообщений, что это непосредственно не реализует, необходимо переопределить этот метод для возврата надлежащей сигнатуры метода.Оператор импорта
Objective C
@import ObjectiveC;
Доступность
Доступный в iOS 2.0 и позже.
-
Возвращает строку, представляющую содержание класса получения.
Возвращаемое значение
Строка, представляющая содержание класса получения.
Обсуждение
Объектная команда печати отладчика вызывает этот метод для создания текстового описания объекта.
NSObject
реализация этого метода просто распечатывает имя класса.Оператор импорта
Objective C
@import ObjectiveC;
Swift
import ObjectiveC
Доступность
Доступный в iOS 2.0 и позже.
См. также
description
(NSObject
протокол)
-
autoContentAccessingProxy
СвойствоПрокси для принимающего объекта (только для чтения)
Объявление
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
Доступность
Доступный в iOS 4.0 и позже.
-
Вызывает метод получателя на текущем потоке с помощью режима по умолчанию после задержки.
Объявление
Objective C
- (void)performSelector:(SEL)
aSelector
withObject:(id)anArgument
afterDelay:(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;
Доступность
Доступный в iOS 2.0 и позже.
-
Вызывает метод получателя на текущем потоке с помощью указанных режимов после задержки.
Объявление
Objective C
- (void)performSelector:(SEL)
aSelector
withObject:(id)anArgument
afterDelay:(NSTimeInterval)delay
inModes:(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;
Доступность
Доступный в iOS 2.0 и позже.
-
Вызывает метод получателя на основном потоке с помощью режима по умолчанию.
Объявление
Objective C
- (void)performSelectorOnMainThread:(SEL)
aSelector
withObject:(id)arg
waitUntilDone:(BOOL)wait
Параметры
aSelector
Селектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
arg
Параметр для передачи методу, когда это вызывается. Передача
nil
если метод не берет параметр.wait
Булевская переменная, указывающая, выполняются ли блоки текущего потока до окончания указанного селектора на получателе на основном потоке. Указать
YES
true
блокировать этот поток; иначе, указатьNO
false
иметь этот возврат метода сразу.Если текущий поток является также основным потоком, и Вы указываете
YES
true
для этого параметра сообщение передается и сразу обрабатывается.Обсуждение
Можно использовать этот метод для передачи сообщений к основному потоку приложения. Основной поток охватывает основной цикл выполнения приложения и где
NSApplication
объект получает события. Сообщение в этом случае является методом текущего объекта, который Вы хотите выполнить на потоке.Этот метод ставит сообщение в очередь на цикле выполнения основного потока с помощью общих режимов цикла выполнения — т.е. режимы, связанные с
NSRunLoopCommonModes
постоянный. Как часть его нормальной обработки цикла выполнения, основной поток исключает сообщение из очереди (предполагающий, что это работает в одном из общих режимов цикла выполнения), и вызывает требуемый метод. Множественные вызовы этого метода от того же потока заставляют соответствующие селекторы быть поставленными в очередь и выполненными в том же том же порядке, в котором были выполнены вызовы.Вы не можете отменить поставленное в очередь использование сообщений этого метода. Если Вы хотите опцию отмены сообщения на текущем потоке, необходимо использовать любого
performSelector:withObject:afterDelay:
илиperformSelector:withObject:afterDelay:inModes:
метод.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_after
и связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
-
Вызывает метод получателя на основном потоке с помощью указанных режимов.
Объявление
Objective C
- (void)performSelectorOnMainThread:(SEL)
aSelector
withObject:(id)arg
waitUntilDone:(BOOL)wait
modes:(NSArray *)array
Параметры
aSelector
Селектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
arg
Параметр для передачи методу, когда это вызывается. Передача
nil
если метод не берет параметр.wait
Булевская переменная, указывающая, выполняются ли блоки текущего потока до окончания указанного селектора на получателе на основном потоке. Указать
YES
true
блокировать этот поток; иначе, указатьNO
false
иметь этот возврат метода сразу.Если текущий поток является также основным потоком, и Вы передаете
YES
true
, сообщение сразу выполняется, иначе выполнение ставится в очередь для выполнения в следующий раз через цикл выполнения.array
Массив строк, идентифицирующий режимы, в которых допустимо выполнить указанный селектор. Этот массив должен содержать по крайней мере одну строку. Если Вы указываете
nil
или пустой массив для этого параметра, этот метод возвращается, не выполняя указанный селектор. Для получения информации о выполненных режимах цикла посмотрите Циклы Выполнения в Поточной обработке Руководства по программированию.Обсуждение
Можно использовать этот метод для передачи сообщений к основному потоку приложения. Основной поток охватывает основной цикл выполнения приложения и где
NSApplication
объект получает события. Сообщение в этом случае является методом текущего объекта, который Вы хотите выполнить на потоке.Этот метод ставит сообщение в очередь на цикле выполнения основного потока с помощью режимов цикла выполнения, указанных в
array
параметр. Как часть его нормальной обработки цикла выполнения, основной поток исключает сообщение из очереди (предполагающий, что это работает в одном из указанных режимов), и вызывает требуемый метод. Множественные вызовы этого метода от того же потока заставляют соответствующие селекторы быть поставленными в очередь и выполненными в том же том же порядке, в котором вызовы были выполнены, предположив, что связанные режимы цикла выполнения для каждого селектора являются тем же. При указании различных режимов для каждого селектора любые селекторы, связанный режим которых не соответствует текущий режим цикла выполнения, пропускаются, пока цикл выполнения впоследствии не выполняется в том режиме.Вы не можете отменить поставленное в очередь использование сообщений этого метода. Если Вы хотите опцию отмены сообщения на текущем потоке, необходимо использовать любого
performSelector:withObject:afterDelay:
илиperformSelector:withObject:afterDelay:inModes:
метод.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_after
и связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
-
Вызывает метод получателя на указанном потоке с помощью режима по умолчанию.
Объявление
Objective C
- (void)performSelector:(SEL)
aSelector
onThread:(NSThread *)thread
withObject:(id)arg
waitUntilDone:(BOOL)wait
Параметры
aSelector
Селектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
thread
Поток, на котором можно выполниться
aSelector
.arg
Параметр для передачи методу, когда это вызывается. Передача
nil
если метод не берет параметр.wait
Булевская переменная, указывающая, выполняются ли блоки текущего потока до окончания указанного селектора на получателе на указанном потоке. Указать
YES
true
блокировать этот поток; иначе, указатьNO
false
иметь этот возврат метода сразу.Если текущий поток и целевой поток являются тем же, и Вы указываете
YES
true
для этого параметра селектор сразу выполняется на текущем потоке. Если Вы указываетеNO
false
, этот метод ставит сообщение в очередь на цикле и возвратах выполнения потока, точно так же, как это делает для других потоков. Текущий поток должен тогда исключить из очереди и обработать сообщение, когда это имеет возможность сделать так.Обсуждение
Можно использовать этот метод для передачи сообщений к другим потокам в приложении. Сообщение в этом случае является методом текущего объекта, который Вы хотите выполнить на целевом потоке.
Этот метод ставит сообщение в очередь на цикле выполнения целевого потока с помощью выполненных режимов цикла по умолчанию — т.е. режимы, связанные с
NSRunLoopCommonModes
постоянный. Как часть его нормальной обработки цикла выполнения, целевой поток исключает сообщение из очереди (предполагающий, что это работает в одном из выполненных режимов цикла по умолчанию), и вызывает требуемый метод.Вы не можете отменить поставленное в очередь использование сообщений этого метода. Если Вы хотите опцию отмены сообщения на текущем потоке, необходимо использовать любого
performSelector:withObject:afterDelay:
илиperformSelector:withObject:afterDelay:inModes:
метод.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_after
и связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
-
Вызывает метод получателя на указанном потоке с помощью указанных режимов.
Объявление
Параметры
aSelector
Селектор, идентифицирующий метод для вызова. Это не должно иметь значительного возвращаемого значения и должно взять отдельный аргумент идентификатора типа или никакие параметры.
thread
Поток, на котором можно выполниться
aSelector
. Этот поток представляет целевой поток.arg
Параметр для передачи методу, когда это вызывается. Передача
nil
если метод не берет параметр.wait
Булевская переменная, указывающая, выполняются ли блоки текущего потока до окончания указанного селектора на получателе на указанном потоке. Указать
YES
true
блокировать этот поток; иначе, указатьNO
false
иметь этот возврат метода сразу.Если текущий поток и целевой поток являются тем же, и Вы указываете
YES
true
для этого параметра селектор сразу выполняется. Если Вы указываетеNO
false
, этот метод ставит сообщение в очередь и сразу возвращается, независимо от того, являются ли потоки тем же или отличающийся.array
Массив строк, идентифицирующий режимы, в которых допустимо выполнить указанный селектор. Этот массив должен содержать по крайней мере одну строку. Если Вы указываете
nil
или пустой массив для этого параметра, этот метод возвращается, не выполняя указанный селектор. Для получения информации о выполненных режимах цикла посмотрите Циклы Выполнения в Поточной обработке Руководства по программированию.Обсуждение
Можно использовать этот метод для передачи сообщений к другим потокам в приложении. Сообщение в этом случае является методом текущего объекта, который Вы хотите выполнить на целевом потоке.
Этот метод ставит сообщение в очередь на цикле выполнения целевого потока с помощью режимов цикла выполнения, указанных в
array
параметр. Как часть его нормальной обработки цикла выполнения, целевой поток исключает сообщение из очереди (предполагающий, что это работает в одном из указанных режимов), и вызывает требуемый метод.Вы не можете отменить поставленное в очередь использование сообщений этого метода. Если Вы хотите опцию отмены сообщения на текущем потоке, необходимо использовать любого
performSelector:withObject:afterDelay:
илиperformSelector:withObject:afterDelay:inModes:
метод вместо этого.Специальные замечания
Этот метод регистрируется в runloop его текущего контекста и зависит от этого runloop, выполняемый регулярно для выполнения правильно. Один общий контекст, где Вы могли бы вызвать этот метод и закончить тем, что регистрировались в runloop, автоматически не выполняющемся регулярно, будучи вызванным очередью отгрузки. При необходимости в этом типе функциональности при работе очереди отгрузки необходимо использовать
dispatch_after
и связанные методы для получения поведения Вы хотите.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
-
Вызывает метод получателя на новом фоновом потоке.
Объявление
Objective C
- (void)performSelectorInBackground:(SEL)
aSelector
withObject:(id)arg
Параметры
aSelector
Селектор, идентифицирующий метод для вызова. Метод не должен иметь значительного возвращаемого значения и должен взять отдельный аргумент идентификатора типа или никакие параметры.
arg
Параметр для передачи методу, когда это вызывается. Передача
nil
если метод не берет параметр.Обсуждение
Этот метод создает новый поток в Вашем приложении, помещая Ваше приложение в многопоточный режим, если это уже не было. Метод, представленный
aSelector
должен установить среду потока, как Вы были бы для любого другого нового потока в Вашей программе. Для получения дополнительной информации о том, как сконфигурировать и выполнить потоки, см. Руководство по программированию Поточной обработки.Оператор импорта
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
-
Отмены выполняют запросы, ранее зарегистрированные в
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
Доступность
Доступный в iOS 2.0 и позже.
-
cancelPreviousPerformRequestsWithTarget (_: selector:object:) + cancelPreviousPerformRequestsWithTarget:selector:object:
Отмены выполняют запросы, ранее зарегистрированные в
performSelector:withObject:afterDelay:
.Объявление
Swift
class func cancelPreviousPerformRequestsWithTarget(_
aTarget
: AnyObject, selectoraSelector
: Selector, objectanArgument
: AnyObject?)Objective C
+ (void)cancelPreviousPerformRequestsWithTarget:(id)
aTarget
selector:(SEL)aSelector
object:(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
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.0 и позже.
-
Переопределенный подклассами для передачи сообщений к другим объектам.
Объявление
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;
Доступность
Доступный в iOS 2.0 и позже.
-
Динамично обеспечивает реализацию для данного селектора для метода класса.
Объявление
Swift
class func resolveClassMethod(_
name
: Selector) -> BoolObjective C
+ (BOOL)resolveClassMethod:(SEL)
name
Параметры
name
Имя селектора для разрешения.
Возвращаемое значение
YES
true
если метод был найден и добавил к получателю, иначеNO
false
.Обсуждение
Этот метод позволяет Вам динамично обеспечивать реализацию для данного селектора. Посмотрите
resolveInstanceMethod:
для дальнейшего обсуждения.Оператор импорта
Objective C
@import ObjectiveC;
Swift
import ObjectiveC
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Динамично обеспечивает реализацию для данного селектора для метода экземпляра.
Объявление
Swift
class func resolveInstanceMethod(_
name
: Selector) -> BoolObjective C
+ (BOOL)resolveInstanceMethod:(SEL)
name
Параметры
name
Имя селектора для разрешения.
Возвращаемое значение
YES
true
если метод был найден и добавил к получателю, иначеNO
false
.Обсуждение
Этот метод и
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
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Дескрипторы обмениваются сообщениями, получатель не распознает.
Объявление
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
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Переопределенный подклассами для замены другим объектом вместо объекта, декодировавшегося и впоследствии получившего это сообщение.
Объявление
Swift
func awakeAfterUsingCoder(_
aDecoder
: NSCoder) -> AnyObject?Objective C
- (id)awakeAfterUsingCoder:(NSCoder *)
aDecoder
Параметры
aDecoder
Декодер раньше декодировал получатель.
Возвращаемое значение
Получатель или другой объект занять место объекта, декодировавшегося и впоследствии получившего это сообщение.
Обсуждение
Можно использовать этот метод для устранения избыточных объектов, создаваемых кодером. Например, если после декодирования объекта Вы обнаруживаете, что эквивалентный объект уже существует, можно возвратить существующий объект. Если замена возвращается, Ваш метод переопределения ответственен за выпуск получателя.
Этот метод вызывается
NSCoder
.NSObject
реализация просто возвращаетсяself
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
– classForCoder
– replacementObjectForCoder:
initWithCoder:
(NSCoding
протокол) -
classForCoder
СвойствоПереопределенный подклассами для замены классом кроме его собственного во время кодирования. (только для чтения)
Объявление
Swift
var classForCoder: AnyClass { get }
Objective C
@property(readonly) Class classForCoder
Обсуждение
Этот метод вызывается
NSCoder
.NSObject
реализация возвращает класс получателя. Частные подклассы кластера класса заменяют именем своего общедоступного суперкласса, будучи заархивированным.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Переопределенный подклассами для заменения новым классом экземпляры во время включенной архивации.
Объявление
Swift
var classForKeyedArchiver: AnyClass? { get }
Objective C
@property(readonly) Class classForKeyedArchiver
Обсуждение
Объект будет закодирован, как будто это был элемент возвращенного класса. Результаты этого метода переопределяются именем класса кодера и именем экземпляра к таблицам кодирования класса. Если
nil
возвращается, результат этого метода проигнорирован.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Переопределенный для возврата имен классов, которые могут использоваться для декодирования объектов, если их класс недоступен.
Объявление
Swift
class func classFallbacksForKeyedArchiver() -> [AnyObject]
Objective C
+ (NSArray *)classFallbacksForKeyedArchiver
Возвращаемое значение
Массив
NSString
объекты, указывающие имена классов в предпочтительном порядке на разархивированиеОбсуждение
NSKeyedArchiver
вызовы этот метод и хранилища результат в архиве. Если фактический класс объекта не существует во время разархивирования,NSKeyedUnarchiver
проходит через сохраненный список классов и использует первый, делающий существует как класс замены для декодирования объекта. Реализация по умолчанию этого метода возвратыnil
.Можно использовать этот метод, если Вы вводите новый класс в свое приложение для обеспечения некоторых назад совместимость в случае, если архив будет считан в системе, не имеющей того класса. Иногда может быть другой класс, который может работать почти, а также замена для нового класса, и архивные ключи и заархивированное состояние для нового класса могут быть тщательно выбраны (или выписанная совместимость) так, чтобы объект мог быть разархивирован как класс замены при необходимости.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Переопределенный подклассами для замены новым классом во время включенного разархивирования.
Объявление
Swift
class func classForKeyedUnarchiver() -> AnyClass
Objective C
+ (Class)classForKeyedUnarchiver
Возвращаемое значение
Класс для заменения получатель во время включенного разархивирования.
Обсуждение
Во время включенного разархивирования экземпляры получателя будут декодироваться как элементы возвращенного класса. Этот метод переопределяет результаты имени класса декодера и имени экземпляра к таблицам кодирования класса.
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
-
Переопределенный подклассами для заменения другим объектом себя во время кодирования.
Объявление
Swift
func replacementObjectForCoder(_
aCoder
: NSCoder) -> AnyObject?Objective C
- (id)replacementObjectForCoder:(NSCoder *)
aCoder
Параметры
aCoder
Кодер, кодирующий получатель.
Возвращаемое значение
Объект кодирует вместо получателя (если отличающийся).
Обсуждение
Объект мог бы закодировать себя в архив, но закодировать прокси для себя, если он кодируется для распределения. Этот метод вызывается
NSCoder
.NSObject
возвраты реализацииself
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Переопределенный подклассами для заменения другим объектом себя во время включенной архивации.
Объявление
Swift
func replacementObjectForKeyedArchiver(_
archiver
: NSKeyedArchiver) -> AnyObject?Objective C
- (id)replacementObjectForKeyedArchiver:(NSKeyedArchiver *)
archiver
Параметры
archiver
Включенный archiver создание архива.
Возвращаемое значение
Объект кодирует вместо получателя (если отличающийся).
Обсуждение
Этот метод вызывают, только если никакая замена, отображающаяся для объекта, не была установлена в кодере (например, вследствие предыдущего вызова
replacementObjectForKeyedArchiver:
к тому объекту).Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.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
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает номер версии, присвоенный классу.
Возвращаемое значение
Номер версии присвоился к классу.
Обсуждение
Если никакая версия не была установлена, значение по умолчанию
0
.Номера версий необходимы для декодирования или разархивирования, таким образом, более старые версии объекта могут обнаруживаться и декодироваться правильно.
Предостережение должно быть взято при получении версии из
NSCoding
протокол или другие методы. Используйте имя класса явно при получении номера версии класса:version = [MyClass version];
Просто не отправлять
version
к возвращаемому значению класса — номер версии подкласса может быть возвращен вместо этого.Специальные замечания
Номер версии применяется к
NSArchiver
/NSUnarchiver
, но не кNSKeyedArchiver
/NSKeyedUnarchiver
. Включенный archiver не кодирует номера версии класса.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
+ setVersion:
versionForClassName:
(NSCoder
)
-
Сборщик «мусора» вызывает этот метод на получатель перед избавлением от памяти, которую это использует.
Сборка «мусора» осуждается в 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
Доступность
Доступный в iOS 2.0 и позже.
См. также