2016-03-08 136 views
2

的Xcode 7和我的代码的价值:无法将类型 '[RKDataStreamingMask]' 预期参数类型 'RKDataStreamingMask'

func sendSetDataStreamingCommand { 
let mask = RKDataStreamingMask.AccelerometerFilteredAll | 
RKDataStreamingMask.IMUAnglesFilteredAll | 
RKDataStreamingMask.QuaternionAll ; 
self.robot.enableSensors(mask,atStreamingRate:RKStreamingRate.DataStreamingRate10); 
} 

的警告是:

swift Binary operator '|' cannot be applied to two UIViewAutoresizing operands 

然后更改代码:

func sendSetDataStreamingCommand { 
let mask=[RKDataStreamingMask.AccelerometerFilteredAll, 
RKDataStreamingMask.IMUAnglesFilteredAll, 
RKDataStreamingMask.QuaternionAll] 
self.robot.enableSensors(mask,atStreamingRate:RKStreamingRate.DataStreamingRate10); 
} 

then then warning in last sentence is:

Cannot convert value of type '[RKDataStreamingMask]' to expected argument type 'RKDataStreamingMask' 

请教我该怎么办?谢谢。

回答

1

要声明一个包含OptionSetType的多个成员的变量,您必须显式注释该类型,否则方括号将被视为一个数组。

let mask : RKDataStreamingMask = [.AccelerometerFilteredAll, .IMUAnglesFilteredAll, .QuaternionAll] 
+0

恩,谢谢你的帮助! ^^ – Yuri

相关问题