sách gpt4 ăn đã đi

Có thể đi sâu hơn siêu lớp gần nhất (tức là super.super) không?

In lại 作者:搜寻专家 更新时间:2023-11-01 07:21:12 27 4
mua khóa gpt4 giày nike

例如,假设我想在调用 siêu.viewDidLoad() 时跳过一级。所以我希望能够做这样的事情:

ghi đè hàm viewDidLoad() {
super.super.viewDidLoad()
}

hoặc

-(void)viewDidLoad {
[[super super] viewDidLoad];
}

这段代码不会编译。这可以通过其他解决方案实现吗?

câu trả lời hay nhất

仅出于说明目的,以下代码按要求执行。它只有在没有 ARC 的情况下编译时才会崩溃,这意味着它有一个错误。它不进行错误检查。

切勿使用此代码,除非您正在尝试学习。

@import Foundation;
#import
#import

@interface M : NSObject

- (void)print;

@kết thúc

@implementation M

- (void)print { NSLog(@"M"); }

@kết thúc

@interface N : M
@kết thúc

@implementation N

- (void)print { NSLog(@"N"); }

@kết thúc

@interface O : N
@kết thúc

@implementation O

- (void)print {
Class mysupersuper = [[self superclass] superclass];
Method supersuperMethod = class_getInstanceMethod(mysupersuper, _cmd);

method_invoke(self, supersuperMethod);
}

@kết thúc

int main(int argc, char **argv)
{
O *o = O.new;

[o print];

trả về 0;
}

我使用以下命令编译它:clang -framework Foundation -fno-objc-arc -fmodules test.m

关于objective-c - 是否有可能比最近的父类(super class)(即 super.super)更深入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38873014/

27 4 0
Đề xuất bài viết: ios - 选择器 View 未更新
Đề xuất bài viết: ios - CMS,iOS 应用程序后端
Đề xuất bài viết: swift - AVFoundation 类未在 OSX xcode 项目中解析
Đề xuất bài viết: php - ORDERING 查询结果的问题
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress