DLIntrospection

DLIntrospection是一款NSObject的分类扩展库,提供了一系列实用的扩展方法,用于列出类的方法、实例变量及属性等信息,并能解析返回类型和参数类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DLIntrospection

一个简单的  NSObject Category ,提供了一系列扩展函数。

Simple NSObject-category wrapper for <objc/runtime.h> for methods/ivars/protocols/etc. listing. Automatically (often) resolves return types and argument types.

Usage

Type the following commands in LLDB command promt:~ po [NSObject classes]

...
UIDateLabel,
UIDatePicker,
UIDatePickerContentView,
UIDevice,
UIDictationMeterView,
UIDictationPhrase
...

Lets list UIDevice instance methods

~ po [[UIDevice class] instanceMethods]
...
- (BOOL)isMediaPicker,
- (void)setIsMediaPicker:(BOOL)arg0 ,
- (id)systemVersion,
- (void)_unregisterForSystemSounds:(id)arg0 ,
- (void)_registerForSystemSounds:(id)arg0
...

Or instance variables:

~ po [[UIDevice class] instanceVariables]
int _numDeviceOrientationObservers,
float _batteryLevel

What properties (including private, of course) implements UIViewController?

~ po [[UIDevice class] properties]
@property (nonatomic, assign, readonly) BOOL _useSheetRotation,
@property (nonatomic, copy) @? afterAppearanceBlock,
...
@property (nonatomic, assign) {CGSize=ff} contentSizeForViewInPopover,
@property (nonatomic, assign, getter=isInAnimatedVCTransition) BOOL inAnimatedVCTransition,
@property (nonatomic, assign, readonly) BOOL inExplicitAppearanceTransition

What protocols implements NSData?

po [NSData protocols]
NSCopying,
NSMutableCopying,
NSSecureCoding <NSCoding>

Even cooler, let's see at protocol information (lists @required@optional methods and @properties):

NSLog(@"%@", [NSObject descriptionForProtocol:@protocol(NSObject)]);
    "@required" =     (
        "- (void)debugDescription",
        "- (void)zone",
        "- (void)performSelector:withObject:withObject:",
        "- (void)description",
        ...
        "- (void)performSelector:",
        "- (void)performSelector:withObject:",
        "- (void)self",
        "- (void)conformsToProtocol:",
        "- (void)class"
    );

Known issues:

  1. Not all argument types are handled yet (structs, bitmasks);
  2. return and arguments types of protocol methods are not parsed yet.
该合成数据集模拟了世界领先的运动服装和鞋类品牌之一耐克的零售和在线销售交易。它故意填充了凌乱、未清理的记录,以复制真实世界的业务数据,非常适合练习数据清理、探索性数据分析 (EDA) 以及构建仪表板或项目组合项目。 有什么超过 2,500 条交易记录,包含: 多个产品线(跑步、篮球、生活方式、训练、足球) 特定性别的销售(男性、女性、儿童) 零售店和在线渠道的销售额 常见的数据问题,例如:空值、地区拼写错误、错误的数据类型、数值列中的负值、日期格式不一致(例如,2023/07/21、21-07-2023 等)、折扣> 100%。 列描述 Order_ID ----交易/订单 ID(一些重复条目) Gender_Category------- 买家细分:男士、女士或儿童 Product_Line------ 商品类型:跑步、篮球等 Product_Name -------售出的特定商品(例如,Air Force 1、Pegasus Turbo) 尺寸-----商品尺寸(例如 7、M、L - 包括缺失/不一致) Units_Sold-------- 销售数量(可以是负数或空数) 建议零售价---------- 最高零售价(有些为零或零) Discount_Applied------ 销售折扣(有些超过 100%) 收入-------折扣后的最终金额(有些计算错误) Order_Date --------交易日期(多种格式和空) Sales_Channel -----------在线或零售 区域-------------印度城市(包括“德里”、“孟加罗尔”等拼写错误) 利润 --------------赚取的利润(可能是不切实际的或负的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值