gpt4 book ai didi

objective-c - Objective-C 中的严格类型检查第 2 部分

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:08:59 25 4
gpt4 key购买 nike

this question我一直在寻找一种使用定义来确保变量属于特定类型的方法。但有时我会遇到这种情况:

- (void) theSituation:(Thinger*)thinger {
ASSERT_IS_KIND_OF(thinger, Thinger);
// etc. etc.

然后我开始想,仅用于调试目的,能够调用类似的东西可能会很好:

- (void) theSituation:(Thinger*)thinger {
ASSERT_INPUT_PARAMS_ARE_OF_CORRECT_TYPES();
// etc. etc.

问题是:您能否通过#define 检查方法的参数类型是否正确(使用isKindOf),您将如何执行此操作(在一般条款)?

最佳答案

当您获得一个方法的参数时(使用 method_copyArgumentType ,如另一个答案中所述),它返回的“类型”要么是 C 类型(如 int、float 等),要么只是对象(返回为“@”)。遗憾的是,不可能获得方法所期望的 Objective-C 类型——编译时信息会丢失。

找到类似问题的答案here .

关于objective-c - Objective-C 中的严格类型检查第 2 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7890695/

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