我是一名 C# 程序员,现在我开始学习 Objective-c,一开始我有一些问题。我试图按照教程进行操作,所以在这里我遇到了标题所说的第一个问题。
我的目的是在C#中定义一些所谓的属性,我想给一个C#语言示例,它会是这样的。
public class Person
{
public string name {get;set;}
public int age {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
所以在这里我找到了两种实现方式。
1.
@interface Person : NSObject
@property NSString *name;
@property int age;
@end
Run Code Online (Sandbox Code Playgroud)
2.
@interface Person : NSObject
{
NSString *name;
int age;
}
@end
Run Code Online (Sandbox Code Playgroud)
我很想弄清楚有什么区别。
非常感谢,
您的第二个界面将转换为 C#,如下所示:
class Person {
string name;
int age;
}
Run Code Online (Sandbox Code Playgroud)
换句话说,实例变量类似于 C# 的字段,而属性与 C# 的属性非常相似。C# 的“自动”属性和 Objective C 的属性之间的最大区别在于,在 C# 中它是“全有或全无”:您要么使属性自动,要么为其声明一个变量。在 Objective C 上,您可以拥有一个自动生成的 getter 和一个手动编写的 setter(或者相反)。
| 归档时间: |
|
| 查看次数: |
2014 次 |
| 最近记录: |