Function
関数
class_replaceMethod(_:_:_:_:)
Replaces the implementation of a method for a given class.
ある与えられたクラスに対するあるメソッドの実装を置き換えます。
Technology
- Objective-C Runtime
Objective-Cランタイム
Parameters
パラメータ
cls
The class you want to modify.
name
A selector that identifies the method whose implementation you want to replace.
imp
The new implementation for the method identified by name
for the class identified by cls
.
types
An array of characters that describe the types of the arguments to the method. For possible values, see Objective-C Runtime Programming Guide > Type Encodings. Since the function must take at least two arguments—self
and _cmd
, the second and third characters must be “@:
” (the first character is the return type).
Return Value
戻り値
The previous implementation of the method identified by name
for the class identified by cls
.
Discussion
解説
This function behaves in two different ways:
If the method identified by name
does not yet exist, it is added as if class_addMethod(_:_:_:_:)
were called. The type encoding specified by types
is used as given.
If the method identified by name
does exist, its IMP is replaced as if method_setImplementation(_:_:)
were called. The type encoding specified by types
is ignored.
See Also
参照
Working with Classes
クラスを扱う