那有宏可以直接过去类名吗
时间: 2024-03-25 09:36:02 浏览: 17
Objective-C 中可以使用`__PRETTY_FUNCTION__`宏来获取当前方法所在的类和方法名。该宏展开后的字符串包含了当前函数所在的类名和方法名。
例如,在一个 Objective-C 方法中,可以使用以下代码获取当前方法所在的类名:
```objective-c
NSLog(@"Current class: %s", __PRETTY_FUNCTION__);
```
上述代码中,`__PRETTY_FUNCTION__`宏展开后的字符串包含了当前方法所在的类名和方法名,例如:
```
Current class: -[MyClass myMethod]
```
需要注意的是,`__PRETTY_FUNCTION__`宏展开后的字符串可能因编译器而异,因此在跨平台开发时应尽量避免使用该宏。
相关问题
Objective-C 中有宏可以获取当前类名吗
在Objective-C中,可以使用`NSStringFromClass`宏来获取当前类名。该宏定义在`objc/runtime.h`头文件中,其函数原型如下:
```objective-c
NSString *NSStringFromClass(Class aClass);
```
该宏接收一个`Class`类型的参数,返回一个`NSString`类型的类名。例如,在一个类的方法中,可以使用以下代码获取当前类的类名:
```objective-c
NSString *className = NSStringFromClass([self class]);
NSLog(@"Class name: %@", className);
```
需要注意的是,如果要在C函数中获取当前类的类名,可以使用Objective-C Runtime提供的`object_getClassName`函数来获取对象的类名,例如:
```objective-c
#include <objc/runtime.h>
const char *className = object_getClassName(self);
NSLog(@"Class name: %s", className);
```
这里的`self`是当前对象的指针。`object_getClassName`函数返回一个`const char *`类型的指针,指向对象的类名。
img标签上可以写类名吗
是的,img标签可以写类名。你可以使用class属性为img元素指定一个或多个类名,以便在CSS中对其进行样式设置。例如:
```html
<img src="example.jpg" alt="Example Image" class="my-img">
```
然后在CSS中,你可以使用`.my-img`选择器来设置该图像的样式:
```css
.my-img {
border: 1px solid #ccc;
max-width: 100%;
height: auto;
}
```