0

我试图用两个字符串的键和值来初始化一个 NSDictionary,我想从一个定义的宏中初始化:

#define _FILETYPES @".c", @"c", @".h", @"c",".cpp", @"cpp", @".d", @"d", @".hs", @"haskell", @".lua", @"lua", @".ml", @"ocaml", @".mli", @"ocaml", @".php", @"php", @".pl", @"perl", @".py", @"python", @".rb", @"ruby", @".scm", @"scheme", @".ss", @"scheme", @".tcl", @"tcl", nil


#define _LANGS @"c", @"C", @"cpp", @"C++", @"d", @"D", @"haskell", @"Haskell", @"lua", @"Lua", @"ocaml", @"OCaml", @"php", @"PHP", @"perl", @"Perl", @"python", @"Python", @"ruby", @"Ruby", @"scheme", @"Scheme", @"tcl", @"Tcl", nil

self.languages = [[NSDictionary alloc] initWithObjectsAndKeys:_LANGS];
self.filetypes = [[NSDictionary alloc] initWithObjectsAndKeys:_FILETYPES];

你能告诉我为什么这不起作用。我之前也曾类似地初始化数组...问题是,一旦到达分配行,代码就会抛出 EXC_BAD_ACCESS

4

1 回答 1

6

你在“.cpp”和“perl”之前忘记了@..

于 2013-05-29T12:35:10.590 回答