小编Wal*_*ldo的帖子

C++/CLI数组初始化程序编译错误

有人可以解释为什么以下代码将无法编译(格式奇怪,使其更容易看到问题):

ListView ^ listview = gcnew ListView();
listview->Items->AddRange( gcnew array<ListViewItem^> { 
    gcnew ListViewItem( gcnew array<String^> { L"red", L"fish" } ), 
    gcnew ListViewItem( gcnew array<String^> { L"green", L"eggs" } ) 
});
Run Code Online (Sandbox Code Playgroud)

这给出了编译错误

错误C2440:'初始化':无法从'const wchar_t [4]'转换为'System :: Windows :: Forms :: ListViewItem ^'

如果代码分为两行,如下所示,那么一切都很好:

ListView^ listview = gcnew ListView();
ListViewItem^ lvi1 = gcnew ListViewItem( gcnew array<String^> { L"red", L"fish" } );
ListViewItem^ lvi2 = gcnew ListViewItem( gcnew array<String^> { L"green", L"eggs" } );
listview->Items->AddRange( gcnew array<ListViewItem^> { 
    lvi1, 
    lvi2 
});
Run Code Online (Sandbox Code Playgroud)

忽略为什么有人想制作一个单片的单行来填充ListView,为什么编译器在原始代码中设置ListViewItems有困难,以及如何编写这样的单行程序?

compiler-construction c++-cli

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

使用InterfaceBuilder配置自定义UIView

很多人都提出了类似的问题,但是回答要么只是模糊不清,要么不是我需要去的方向,所以我会尝试尽可能具体地问这个问题.此问题的上下文适用于使用XCode 4进行iOS开发.

我有一个应用程序,我多次使用相同的Widget.在这个简单的练习中,小部件将是一个固定大小的红色框,顶部有一个标签,根视图控制器将改变,但你可以想象它有很多ImageViews和ScrollViews,看起来很漂亮.最后一点是关键,因为非编码艺术设计师希望能够全局调整此视图,而无需在UI的每个重复部分上反复执行相同的操作.

在应用程序中,我已经用单个UIView替换了用于组成窗口小部件的ImageViews和ScrollViews,并使用InterfaceBuilder将自定义类设置为Widget.我在根视图控制器中有这些Widget对象正确连接的插座.Widget类是UIView的子类,代码如下:

@interface Widget : UIView {
    UILabel     *label;
}

@property (nonatomic, retain) IBOutlet  UILabel *label;
@property (nonatomic, copy) NSString *labelName;
@end


@implementation Widget
@synthesize label, labelName;

- (id)initWithCoder:(NSCoder *)aDecoder {
    if ((self = [super initWithCoder:aDecoder])) { 
        // This is the code that I want to disappear    
        CGRect pos = CGRectMake(5, 5, 90, 30);
        label = [[UILabel alloc] initWithFrame:pos];
        [self addSubview:label];
        self.backgroundColor = [UIColor redColor];
    }
    return self;
}

- (NSString *)labelName {
    return label.text;
} …
Run Code Online (Sandbox Code Playgroud)

objective-c interface-builder xib uiview

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