静态分析: Passed-by-value struct argument contains uninitialized data (e.g., field: 'horizontal')

静态分析: Product -> Analyze

静态分析出来的问题会以蓝色标记标出

屏幕快照 2017-11-30 上午11.57.03.png

点击此标识可直接定位到相应代码,在定位到的代码中点击此标识可展开警告内容,对于此警告,尤其关注警告内容最后的括号中的提示信息,这个有利于更快的找到消除警告方法。

这里,对于我项目中代码:

UIOffset offset;
offset.vertical = -2;
[item setTitlePositionAdjustment:offset];

在设置tabBarItem的title向上/向下偏移量时,因为不需要左右偏移就没设置, 但静态分析时报了警告.

Passed-by-value struct argument contains uninitialized data (e.g., field: 'horizontal')

查看UIOffset:

typedef struct UIOffset {
     CGFloat horizontal, vertical; // specify amount to offset a position, positive for right or down, negative for left or up
     } UIOffset;

这里解决方法就是给设置左右偏移的变量:

这里左右 不需要设置偏移 因此给0:

UIOffset offset;
offset.vertical = -2;
offset.horizontal = 0;
[item setTitlePositionAdjustment:offset];

你可能感兴趣的:(静态分析: Passed-by-value struct argument contains uninitialized data (e.g., field: 'horizontal'))