Objective c 向NSDictionary添加对象

Objective c 向NSDictionary添加对象,objective-c,ios,nsdictionary,Objective C,Ios,Nsdictionary,我想用UITextFields中的文本填充NSDictionary。这是我尝试的 [self delegate]populate:[NSDictionary dictionaryWithObjectsAndKeys: [self.username.text], @"username", [self.password.text], @"password"

我想用UITextFields中的文本填充NSDictionary。这是我尝试的

[self delegate]populate:[NSDictionary dictionaryWithObjectsAndKeys:
                                 [self.username.text], @"username",
                                 [self.password.text], @"password"
                                 nil];
但我得到了预期的标识符。 这里怎么了?为什么不能直接通过[self.*]呢

我也试过了

[self delegate]populate:[NSDictionary dictionaryWithObjectsAndKeys:
                                 [NSString stringWithFormat:@"%@", [self.username.text]], @"username",
                                 [NSString stringWithFormat:@"%@", [self.password.text]], @"password"
                                 nil];

仍然不工作

[self.username.text]
是无效语法

消息发送语法为
[对象消息]
。点语法是
object.property
。由于属性访问通常会产生一个对象,所以可以将它们组合在一起,但仍然需要一个消息部分。如果只是将点语法放在括号内,则缺少消息部分:
[object.property]

将其更改为
self.username.text
(无括号)或
[self.username text]

正如bdesham指出的(我认为这只是一个输入错误),您在整个代码段中缺少了大括号<代码>[自我委托]是您要向其发送消息的对象
填充

[[self delegate] populate:<another message send here, to NSDictionary>];
[[self delegate]填充:];

[self.username.text]
语法无效

消息发送语法为
[对象消息]
。点语法是
object.property
。由于属性访问通常会产生一个对象,所以可以将它们组合在一起,但仍然需要一个消息部分。如果只是将点语法放在括号内,则缺少消息部分:
[object.property]

将其更改为
self.username.text
(无括号)或
[self.username text]

正如bdesham指出的(我认为这只是一个输入错误),您在整个代码段中缺少了大括号<代码>[自我委托]是您要向其发送消息的对象
填充

[[self delegate] populate:<another message send here, to NSDictionary>];
[[self delegate]填充:];
试试这个:

[[self delegate] populate:[NSDictionary dictionaryWithObjectsAndKeys:
                             [self.username.text], @"username",
                             [self.password.text], @"password"
                             nil]];
看起来您在整个邮件中缺少
[]

试试这个:

[[self delegate] populate:[NSDictionary dictionaryWithObjectsAndKeys:
                             [self.username.text], @"username",
                             [self.password.text], @"password"
                             nil]];

看起来您在整个邮件中缺少
[]

OP还需要在整个表达式周围加上括号:
[[self delegate]populate:…]
我将其更改为[self.username text]。谢谢OP还需要在整个表达式周围加上括号:
[[self delegate]populate:…]
我将其更改为[self.username text]。谢谢