gpt4 book ai didi

iphone - Objective C 类实例声明错误?

转载 作者:行者123 更新时间:2023-12-03 20:19:37 27 4
gpt4 key购买 nike

我对 Objective-C 非常陌生,我正在尝试在 XCode 中声明 UITableView 的新实例。这是我的代码:

UITableView *mainTable = [[UITableView alloc] init];

并且 XCode 指向 = 并让我对声明语句末尾的分号感到困扰,该分号显然就在那里。

编辑:

#import <UIKit/UIKit.h>

@interface TestRunAppDelegate : NSObject <UIApplicationDelegate> {

UITableView *mainTable = [[UITableView alloc] init];

}

最佳答案

您无法在 class's interface 内进行分配.

将分配移至应用委托(delegate)的 init 方法:

#import <UIKit/UIKit.h>

@interface TestRunAppDelegate : NSObject <UIApplicationDelegate> {

UITableView *mainTable;

}
@end

@implementation TestRunAppDelegate

- (id)init {

if( !(self = [super init]) ){
return nil;

mainTable = [[UITableView alloc] init];

return self;
}
@end

@interface block (从 @interface@end 的所有内容)只是告诉其他代码对您的类的期望。它本身不做任何事情。在大括号之间,您声明实例变量,但实际上并不创建任何对象。在实例变量声明之后和 @end 之前,您可以声明您的方法。再说一次,你没有实现它们。您只需让编译器以及导入您的 header 的任何其他代码知道它们期望您的类执行什么操作。

以这种方式分离实现和接口(interface)的原因*是为了实现面向对象编程的原则之一。一个对象本质上告诉其他对象它可以做什么(接口(interface)),但没有说明它将如何完成任务(实现)。

<小时/>

*它们通常被放入两个单独的文件中,但实际上并非如此。

关于iphone - Objective C 类实例声明错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5972144/

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