gpt4 book ai didi

objective-c - 有没有办法记录 Objective-C 实例的所有属性值

转载 作者:太空狗 更新时间:2023-10-30 03:14:51 26 4
gpt4 key购买 nike

我只是想知道是否有一种快速简便的方法可以将属性的所有各种值打印到日志中以供调试之用。就像我想知道所有 BOOL、 float 等的值是什么。

最佳答案

This question似乎可以回答您的问题。

更新:

我很好奇,做了一个分类:

//Using Xcode 4.5.2 - iOS 6 - LLDB - Automatic Reference Counting

//NSObject+logProperties.h
@interface NSObject (logProperties)
- (void) logProperties;
@end

//NSObject+logProperties.m
#import "NSObject+logProperties.h"
#import <objc/runtime.h>

@implementation NSObject (logProperties)

- (void) logProperties {

NSLog(@"----------------------------------------------- Properties for object %@", self);

@autoreleasepool {
unsigned int numberOfProperties = 0;
objc_property_t *propertyArray = class_copyPropertyList([self class], &numberOfProperties);
for (NSUInteger i = 0; i < numberOfProperties; i++) {
objc_property_t property = propertyArray[i];
NSString *name = [[NSString alloc] initWithUTF8String:property_getName(property)];
NSLog(@"Property %@ Value: %@", name, [self valueForKey:name]);
}
free(propertyArray);
}
NSLog(@"-----------------------------------------------");
}

@end

将它包含在你的类中:#import "NSObject+logProperties.h"

并调用 [self logProperties]; 获取这些属性!

关于objective-c - 有没有办法记录 Objective-C 实例的所有属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13922581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com