---
title: "class_getMethodImplementation_stret(_:_:)"
framework: Objective-C Runtime
role: symbol
role_heading: Function
platforms: [macOS 10.5+]
path: "objectivec/class_getmethodimplementation_stret(_:_:)"
---

# class_getMethodImplementation_stret(_:_:)

Returns the function pointer that would be called if a particular message were sent to an instance of a class.

## Declaration

```swift
func class_getMethodImplementation_stret(_ cls: AnyClass?, _ name: Selector) -> IMP?
```

## Parameters

- `cls`: The class you want to inspect.
- `name`: A selector.

## Return Value

Return Value The function pointer that would be called if [object name] were called with an instance of the class, or NULL if cls is Nil.

## See Also

### Working with Classes

- [class_getName(_:)](objectivec/class_getname(_:).md)
- [class_getSuperclass(_:)](objectivec/class_getsuperclass(_:).md)
- [class_setSuperclass(_:_:)](objectivec/class_setsuperclass(_:_:).md)
- [class_isMetaClass(_:)](objectivec/class_ismetaclass(_:).md)
- [class_getInstanceSize(_:)](objectivec/class_getinstancesize(_:).md)
- [class_getInstanceVariable(_:_:)](objectivec/class_getinstancevariable(_:_:).md)
- [class_getClassVariable(_:_:)](objectivec/class_getclassvariable(_:_:).md)
- [class_addIvar(_:_:_:_:_:)](objectivec/class_addivar(_:_:_:_:_:).md)
- [class_copyIvarList(_:_:)](objectivec/class_copyivarlist(_:_:).md)
- [class_getIvarLayout(_:)](objectivec/class_getivarlayout(_:).md)
- [class_setIvarLayout(_:_:)](objectivec/class_setivarlayout(_:_:).md)
- [class_getWeakIvarLayout(_:)](objectivec/class_getweakivarlayout(_:).md)
- [class_setWeakIvarLayout(_:_:)](objectivec/class_setweakivarlayout(_:_:).md)
- [class_getProperty(_:_:)](objectivec/class_getproperty(_:_:).md)
- [class_copyPropertyList(_:_:)](objectivec/class_copypropertylist(_:_:).md)
