小编Los*_*aty的帖子

UISearchBar textDidChange创建错误:重复使用它们之后会留下可见的视图:{(null)=(null); }

我正在使用带有UISearchBar的UITableViewController.一切似乎工作得很好,除了我在textDidChange我从未见过的方法中得到一个奇怪的警告.

这是我的代码:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {

    [self.searchResults removeAllObjects];
    if([searchText isEqualToString:@""]||searchText==nil){
        [self.tableView reloadData];
        return;
    }

    for(NSArray *monsterArray in self.monsterArray) {
        NSString *name = monsterArray[0];
        NSRange r = [[name lowercaseString] rangeOfString:[searchText lowercaseString]];
        if(r.location != NSNotFound) {
            if(r.location==0) {
                [self.searchResults addObject:monsterArray];
            }
        }
    }

    [self.tableView reloadData];
}
Run Code Online (Sandbox Code Playgroud)

通过逐步完成程序,我发现警告发生在结束之前textDidChange.正如我在标题中提到的,警告是这样的:

重复使用后仍有可见的视图:{(null)=(null); }

有谁知道为什么会这样,以及如何解决它?

warnings uisearchbar ios

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

从Qt中的多个线程绘制

我正在Qt中编写一个程序,它运行10个工作线程来计算空间中物体的轨迹.他们还必须画出物体的路径.我有一个"Body"类派生QGraphicsEllipseItem,它有一个QPainterPath."模拟"课程列出了世界上的障碍物,以及模拟和运行的身体直到身体与某物碰撞.模拟在一个单独的线程中运行(使用moveToThread完成,而不是通过继承QThread).当身体发生碰撞时,模拟会发出一个信号表明它已完成.当所有线程都已完成时,我想绘制路径(我通过调用"Body"中的方法来实现它,该方法在其draw方法中启用路径绘制).

不幸的是我得到了ASSERT错误:

ASSERT: "!unindexedItems.contains(item)" in file graphicsview\qgraphicsscenebsptreeindex.cpp, line 364
Run Code Online (Sandbox Code Playgroud)

它们似乎随机发生.我尝试过不同的连接类型,没有结果.
我正在循环中启动线程.
我正在使用Qt 5.0

c++ qt multithreading synchronization

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

Swift结构突变变量不起作用?

即使mutating func在方法中使用关键字,我也无法修改模型类变量?

所以基本上我都包裹着我的问题,在一个非常简单的方法,我有一个类Car,拥有3个变量idstartmodelNo

之后,初始化一个空的Car模型数组,然后显示10个汽车,为迭代创建一个范围范围1...10,初始化Car模型类,并将其附加到原始的cars数组中。

前5个汽车ID为0,最后5个汽车ID为1的支票

我想要一个将在其中启动相同ID的最后一辆车的过滤器,因此我创建了一个过滤并修改start变量但无法修改的方法。您能帮我做错什么吗?

请查看我的完整代码,然后将其复制粘贴到操场上。

struct Car {
    var id = 0
    var start = false
    var modelNo: String

    init(start: Bool, id: Int, model: String) {
        self.start = start
        self.id = id
        self.modelNo = model
    }

    mutating func startCar(status: Bool) {
        start = status
    }
}

var arrCars:[Car] = [Car]()

for i in 1...10 {
    let md = Car(start: false, id: i <= 5 ? 0 : …
Run Code Online (Sandbox Code Playgroud)

struct ios swift mutating-function swift4

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