Objective c 在ios中创建对象的最简单方法

Objective c 在ios中创建对象的最简单方法,objective-c,ios,Objective C,Ios,iOS是否支持类似的功能 s = { x:3,y:5 , o:{x:0,y:1}} 比如Javascript 或者在iOS中使用这样的东西的最佳方式是什么?不,它不支持。但是我很抱歉,我不熟悉JS 要在iOS中创建obj,请执行以下操作: ObjName *objVar; 然后设置其属性: @property (nonatomic, strong) ObjName *objVar; 然后在.m中对其进行语法化 @syntesize objVar; 您可以使用所需的方法分配并初始化它。否

iOS是否支持类似的功能

s = { x:3,y:5 , o:{x:0,y:1}} 
比如Javascript


或者在iOS中使用这样的东西的最佳方式是什么?

不,它不支持。但是我很抱歉,我不熟悉JS

要在iOS中创建obj,请执行以下操作:

ObjName *objVar;
然后设置其属性:

@property (nonatomic, strong) ObjName *objVar;
然后在.m中对其进行语法化

@syntesize objVar;

您可以使用所需的方法分配并初始化它。

否,它不支持。但是我很抱歉,我不熟悉JS

要在iOS中创建obj,请执行以下操作:

ObjName *objVar;
然后设置其属性:

@property (nonatomic, strong) ObjName *objVar;
然后在.m中对其进行语法化

@syntesize objVar;

您可以使用所需的方法分配并初始化它。

不,Objective-C中没有DICT的快捷语法。您必须手动执行。

不,Objective-C中没有DICT的快捷语法。您必须手动执行。

这取决于您所指的对象类型。这里真的没有一个通用的答案

例如,如果您指的是NSD词典,您可以使用


或者同一页面上记录的任何变体。

这取决于您所指的对象类型。这里真的没有一个通用的答案

例如,如果您指的是NSD词典,您可以使用


或同一页上记录的任何变体。

直译应为:

NSDictionary *s = [NSDictionary dictionaryWithObjectsAndKeys:
                        [NSNumber numberWithInt:3], @"x",
                        [NSNumber numberWithInt:5], @"y",
                        [NSDictionary dictionaryWithObjectsAndKeys:
                                 [NSNumber numberWithInt:0], @"x",
                                 [NSNumber numberWithInt:1], @"y",
                                  nil ], @"o",
                        nil  ];
但是文字翻译,即使是在编程语言中,也不是最好的。这完全取决于上下文和您需要完成的任务。根据您的需要,可能需要更少的代码

编辑:现在有一个新的允许进一步收缩此代码:

NSDictionary *s = @{ @"x": @3
                   , @"y": @5
                   , @"o": @{ @"x": @0, @"y": @1}
                   };

此语法隐式创建NSDictionary和NSNumber对象。

直译为:

NSDictionary *s = [NSDictionary dictionaryWithObjectsAndKeys:
                        [NSNumber numberWithInt:3], @"x",
                        [NSNumber numberWithInt:5], @"y",
                        [NSDictionary dictionaryWithObjectsAndKeys:
                                 [NSNumber numberWithInt:0], @"x",
                                 [NSNumber numberWithInt:1], @"y",
                                  nil ], @"o",
                        nil  ];
但是文字翻译,即使是在编程语言中,也不是最好的。这完全取决于上下文和您需要完成的任务。根据您的需要,可能需要更少的代码

编辑:现在有一个新的允许进一步收缩此代码:

NSDictionary *s = @{ @"x": @3
                   , @"y": @5
                   , @"o": @{ @"x": @0, @"y": @1}
                   };

此语法隐式创建NSDictionary和NSNumber对象。

您可以创建一个JSON字符串,然后使用JSON框架生成相应的NSArray/NSDictionary结构。这将接近您正在尝试做的事情,但不完全如此。。。然后,您可以用如下方式描述对象结构:

{"x": 3, "y" : 5, "o" : {"x": 0, "y" : 1}}

主要限制是您没有现成的数字类型,但可以使用NSNumber、NSScanner等来获取它们

您可以创建一个JSON字符串,然后使用JSON框架生成相应的NSArray/NSDictionary结构。这将接近您正在尝试做的事情,但不完全如此。。。然后,您可以用如下方式描述对象结构:

{"x": 3, "y" : 5, "o" : {"x": 0, "y" : 1}}

主要限制是您没有现成的数字类型,但可以使用NSNumber、NSScanner等来获取它们

您可以编写一个setter或helper方法,该方法可以采用上述格式的字符串,对其进行语法检查、解析,并使用字符串字段从一行调用中自动为您创建或修改NSDictionary


但它不是Obj C或NSFoundation框架的内置功能。但是,一些JSON类别添加可能会执行类似的操作。

您可以编写一个setter或helper方法,该方法可以采用上述格式的字符串,对其进行语法检查、解析,并使用字符串字段从一行调用中自动为您创建或修改NSDictionary


但它不是Obj C或NSFoundation框架的内置功能。一些JSON类别的添加可能会执行类似的操作。

如果是本地对象,只需执行ObjName*objVar=[[ObjName alloc]init];如果是本地对象,只需执行ObjName*objVar=[[ObjName alloc]init];为什么你需要一个简短的方法来做这件事?如果你讨厌冗长,我建议你用Objective-C以外的语言写作。实际上,这并不是最短的,而是寻找最好的方法。感谢所有的答案,看起来最简单的方法就是使用dictionary obj。为什么你需要一个简短的方法呢?如果你讨厌冗长,我建议你用Objective-C以外的语言写作。实际上,这并不是最短的,而是寻找最好的方法。感谢所有的答案,看起来最简单的方法就是使用字典obj。