答案 0 :(得分:1)
在“巧克力蛋糕”字符串之前,您错过了@
。您不能将c字符串放入NSArray
答案 1 :(得分:0)
我想你错过了。你必须分配内存。
你的.h:中的
@property (nonatomic, strong) NSArray * recipes;
你的.m 中的
- (void)viewDidLoad {
[super viewDidLoad];
self.reciepe =[[NSArray alloc] initWithObjects:@"test",@"test2",@"test3",nil];
}
不要忘记arry结束时的零。
这对我来说很好。
希望得到这个帮助。
答案 2 :(得分:0)
请使用代码标记而不是屏幕截图发布您的代码。引用你得到的整个错误,并指出它所在的行号。
Dan告诉你你的代码有什么问题(缺少" @"在你的一个参数上。)
确保查看编译程序时收到的所有警告。你几乎肯定得到一个警告,你传递了错误类型的参数。这些警告确实非常重要。当你收到警告时,停止一切并找出原因。
Apple添加了用于创建对象的新语法("对象文字"语法,它被称为。)
您可以更简单地编写代码:
recipes = @[@"test", @"test2", @"test3"];
效果与代码
完全相同recipes = [NSArray arrayWithObjects: @"test", @"test2", @"test3", nil];
但新形式更容易打字,一旦习惯就更容易阅读。
官方(有点难以阅读的初学者)文档在Clang网站上:Objective-C Literals
This article from The Big Nerd Ranch site是对新语法的更具可读性的解释(它还包含指向Clang网站上同一页面的链接)
如果您使用Google搜索" Objective-C对象文字语法"你也可以找到一堆其他文章。