header."-6ren"> header."-当我在 XCode 4 中创建新的 Objective-C 类文件时,它会创建两个文件: 其内容是: #import @interface MyClass : NSObject { @private-6ren">
gpt4 book ai didi

objective-c - 为什么在 XCode4 中创建新的 Objective-C 类文件不会创建 "An Objective-C class, with a header that includes the header."

转载 作者:行者123 更新时间:2023-12-03 17:43:23 25 4
gpt4 key购买 nike

当我在 XCode 4 中创建新的 Objective-C 类文件时,它会创建两个文件:

其内容是:

#import <Foundation/Foundation.h>


@interface MyClass : NSObject {
@private

}

@end

其内容是:

#import "MyClass.h"


@implementation MyClass

- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}

return self;
}

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

@end

我是一个正在阅读傻瓜书的初学者,这不是我创建新文件时在 XCode3 中看到的内容。另外,向导表示该文件应该有 <Cocoa/Cocoa.h>在 header 中,但这些文件有 Foundation.h在标题中。

最佳答案

您正在读一本旧书。如果你看一下 Cocoa.h,它正在导入:

  • #import Foundation/Foundation.h
  • #import AppKit/AppKit.h
  • #import CoreData/CoreData.h

这是 Mac OS X 上大多数 Cocoa 应用程序的标准做法。现在,我们有了 iOS,它不使用 AppKit.framework; iOS 使用 UIKit.framework。因此模板只会导入 Foundation.h 。这样您就可以在面向 Mac OS X 或 iOS 平台的项目中使用您的子类。这样您就不必为不同的平台编写#define 语句。

如果您查看 Mac OS X 项目的预编译 header (.pch),它将为您导入 Cocoa.h,从而导入 AppKit.h。 iOS 项目 .pch 导入 UIKit.h

关于objective-c - 为什么在 XCode4 中创建新的 Objective-C 类文件不会创建 "An Objective-C class, with a header that includes the <Cocoa/Cocoa.h> header.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5681636/

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