HMErrorDomain Code=45 - 操作无法完成 - 语法问题

HMErrorDomain Code=45 - The operation couldn’t be completed - syntax issues

假设:我正在使用Xcode6.3.1

阅读 HomeKit 文档我看到以下内容:

 [characteristic writeValue:@2 completionHandler:^(NSError *error) {
 }];

编辑: 当我尝试

 [characteristic writeValue:[NSNumber numberWithInt:2] completionHandler:^(NSError *error)

它给我一个错误。

Error Domain=HMErrorDomain Code=45 "The operation couldn’t be completed. (HMErrorDomain error 45.)"

如果我尝试@2,它会起作用。

为什么?

这是一个NSNumber literal,相当于[NSNumber numberWithInt:42]