myData = [NSData dataWithBytes:(void*)pEvent length:sizeof(stRs232Timer*)];
[m_cAppIdMap setObject:myData forKey:[NSNumber numberWithUnsignedShort:wTimerId]];
if (pEvent->uExpirationTime < m_cPendingEventList->uExpirationTime) {
}
[m_cPendingEventList addObject:myData];
pEvent是这里的一个结构。我试图将过期时间与存储在NSMutableArray m_cPendingEventList中的结构的到期时间字段进行比较。 如何做到这一点。如果条件失败并显示错误。
错误:'struct NSMutableArray'没有名为'uExpirationTime'的成员
pEvent是一个指向包含uExpirationTime,uPeriod等结构的结构的指针。
答案 0 :(得分:1)
您应该将pEvent
转换为stRs232Timer
,前提是您的代码的所有内容都是正确的(我猜这一点:length:sizeof(stRs232Timer*)
)
myData = [NSData dataWithBytes:(void*)pEvent length:sizeof(stRs232Timer*)];
[m_cAppIdMap setObject:myData forKey:[NSNumber numberWithUnsignedShort:wTimerId]];
if ((stRs232Timer*)pEvent->uExpirationTime < m_cPendingEventList->uExpirationTime) {
在最后一行我添加了演员...
如果这不起作用,您能否提供pEvent
的声明?