小编Mal*_*lte的帖子

在InterfaceBuilder中启用/禁用NSLayoutConstraints

NSLayoutConstraint(in iOS 8.0)有一个BOOL被调用的属性active,可以很容易地即时禁用/启用所述布局约束.

要创建一个视图控制器,我可以然后以编程使能/禁止(经由第二布局组IBOutletCollectionNSLayoutConstraints两个套),我需要停用在界面生成器我已经定义布局约束.

让我在这里清楚我不想删除它们,只是禁用它们以便我可以设计第二组而不需要界面构建器一直抱怨不匹配的约束.此外,切换大小类不是一种选择,因为布局集适用于同一个大小的类.

有没有选择吗?

提前致谢

马尔特

更多的信息: SDK Version: 8.1 Deployment Target 8.0

xcode objective-c interface-builder ios autolayout

14
推荐指数
3
解决办法
8965
查看次数

斯威夫特得到漂浮的分数

我最近一直在努力尝试,而且我遇到了一个相当简单的问题.

在Obj-C中,当我想得到一个浮点数的小数位时,我会做以下事情:

float x = 3.141516
int integer_x = (int)x;
float fractional_x = x-integer_x;
//Result: fractional_x = 0.141516
Run Code Online (Sandbox Code Playgroud)

在斯威夫特:

let x:Float = 3.141516
let integerX:Int = Int(x)
let fractionalX:Float =  x - integerX 
Run Code Online (Sandbox Code Playgroud)

- >由于错误处理类型导致错误

任何想法如何正确地做到这一点?

提前致谢

马尔特

math objective-c type-conversion swift

6
推荐指数
3
解决办法
7280
查看次数

iOS 8杀死Unwind Segues

我在准备好应用程序时遇到问题iOS 8.就像它在许多其他问题中所说的那样,在编译时,模态展开segues似乎不再正常工作iOS 8 SDK.

虽然对于模态呈现的ViewControllers(aka [self.presentingViewController dismissViewControllerAnimated:YES])有一个简单的解决方法,但是没有这样的解决方法可以使用Popover Exit Segue而不涉及添加UIPopoverController对所呈现的View Controller 的引用.

由于我正在使用unwindSegue用于我所有的popover呈现的控制器,我真的想找到一个解决方法(或修复),因为我真的不想添加UIPopoverController对我所有呈现的ViewControllers 的引用只是因为iOS 8 SDK中的错误.

任何人都有类似的事情或知道一个简单的解决方法?

iphone objective-c ios uistoryboardsegue ios8

5
推荐指数
0
解决办法
180
查看次数

CRC16生成和验证

我试图理解(并随后实现)干净飞行四轴飞行器固件用于 srxl 包验证的 crc16 验证。

SRXL 是一种简单的串行协议,用于通过单条串行线传输伺服值。

包结构是这样的:

协议结构

crc16 通过以下函数验证:

//srxlFrameLength is the package length
//srxlFrame is the received package buffer
uint16_t crc_calc = 0; 
for (i = 0; i < srxlFrameLength; i++) {
    crc_calc =  crc16_CCITT(crc_calc, srxlFrame[i]);
}
if(crcCalc == 0){ //package is valid }
Run Code Online (Sandbox Code Playgroud)

我不明白这是如何运作的。如果我要实现这个,我会迭代计算包的所有字节的 crc,直到达到保存的 crc,然后与保存的 crc 进行比较。为什么这个实现也有效?

我还想为发送方实现一个包生成器代码。是否可以像这样实现 crc 生成:

uint16_t crc_calc = 0;     
for(int i = 0; i < packetLength; ++i){
     crc_calc = crc16_CCITT(crc_calc, packet[i]);
}
//concat calculated crc16 to packet here.
Run Code Online (Sandbox Code Playgroud)

提前致谢,

马尔特

c microcontroller serial-port arduino crc

1
推荐指数
1
解决办法
1079
查看次数