相关疑难解决方法(0)

为什么在宏中使用明显无意义的do-while和if-else语句?

在许多C/C++宏中,我看到宏的代码包含在看似无意义的do while循环中.这是一些例子.

#define FOO(X) do { f(X); g(X); } while (0)
#define FOO(X) if (1) { f(X); g(X); } else
Run Code Online (Sandbox Code Playgroud)

我看不出它do while在做什么.为什么不在没有它的情况下写这个?

#define FOO(X) f(X); g(X)
Run Code Online (Sandbox Code Playgroud)

c c++ c++-faq c-preprocessor

758
推荐指数
8
解决办法
9万
查看次数

为什么我们不能直接改变UIView框架的大小或来源?

对于那些了解这一点的人来说听起来可能非常愚蠢,但我对iOS很陌生.我想知道,为什么我们不能修改原点或大小,或者可能是UIView框架的这些属性的x,y或高度宽度?

frame是一个CGRect结构,原点和大小又是CGPoint和CGSize结构.当我们可以访问它们时,为什么我们无法修改它们?

在CGRect中没有这样的东西,我们可以修改它的属性,所以为什么我们不能用于框架或边界.

objective-c ios

14
推荐指数
2
解决办法
1万
查看次数

如何将C结构化为类属性?

我有这个:

typedef struct objTag{
    float x;
    float y;
    BOOL isUP;
} object;
Run Code Online (Sandbox Code Playgroud)

如何使对象成为这样的属性

@property (nonatomic, assign) object myObj;
Run Code Online (Sandbox Code Playgroud)

然后...

@synthesize myObj = _myObj;
Run Code Online (Sandbox Code Playgroud)

这个编译很好,但后来在代码中尝试类似的东西

self.myObj.isUP = YES;
Run Code Online (Sandbox Code Playgroud)

我收到消息"表达式不可分配"

c cocoa-touch objective-c ios

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

标签 统计

c ×2

ios ×2

objective-c ×2

c++ ×1

c++-faq ×1

c-preprocessor ×1

cocoa-touch ×1