gpt4 book ai didi

objective-c - objective-c 中的@Property和{fields}有什么区别?

转载 作者:行者123 更新时间:2023-12-04 02:12:30 37 4
gpt4 key购买 nike

我是一名C#程序员,现在开始学习Objective-c,刚开始有一些问题。我试图按照教程进行操作,所以在这里我遇到了标题所说的第一个问题。

我的目的是在C#中定义一些所谓的属性,我想给出一个C#语言示例,就像这样。

public class Person
{
public string name {get;set;}
public int age {get;set;}
}

所以在这里我找到了两种实现方式。

1.

@interface Person : NSObject

@property NSString *name;
@property int age;

@end

2.

@interface Person : NSObject
{
NSString *name;
int age;
}

@end

我很想知道有什么区别。

非常感谢,

最佳答案

您的第二个界面将转换为 C#,如下所示:

class Person {
string name;
int age;
}

换句话说,实例变量类似于C#的字段,而属性则非常类似于C#的属性。 C# 的“自动”属性与 Objective C 的属性之间的最大区别在于,在 C# 中它是“全有或全无”:您要么使属性自动,要么为其声明一个变量。在 Objective C 上,您可以拥有一个自动生成的 getter 和一个手动编写的 setter(或相反)。

关于objective-c - objective-c 中的@Property和{fields}有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811751/

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