gpt4 book ai didi

ios - 如何初始化 NSString 的 NSArray?

转载 作者:行者123 更新时间:2023-11-28 19:36:56 26 4
gpt4 key购买 nike

我正在使用 NSArray 类型的属性。然后我尝试初始化或设置 NSArray 的值。当我使用shorthand assignment 时,我得到了输出。但是当我尝试使用长初始化样式 时,我没有得到结果。后者的正确做法应该是什么??

这是代码片段:

@property NSArray * moods;

//shorthand assignment
self.moods=@[@"Happy",@"Sad"];
NSLog(@"Hello %@",[self moods]);

这是有效的。但是当我尝试时:

//long initialization style
[[self moods]initWithObjects:@"Happy",@"Sad", nil];
NSLog(@"Hello %@",[self moods]);

这不是做同样的事情。请给我一些建议。

最佳答案

第二个例子应该是:

self.moods = [[NSArray alloc] initWithObjects:@"Happy",@"Sad", nil];

alloc 必须始终在 init 之前调用,以实际为对象分配内存。 [self moods] 将返回 nil,直到您将某些内容分配给 self.moods

编辑:

如果出于任何原因你真的想避免通过属性点符号语法进行赋值,你可以改用 setter 方法:

[self setMoods: [[NSArray alloc] initWithObjects:@"Happy",@"Sad", nil]];

关于ios - 如何初始化 NSString 的 NSArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37930683/

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