小编enj*_*yem的帖子

与INT相比,BIGINT的mysql性能

如果我将主键更改为BIGINT(20),我试图找出我的表是否会降低性能.目前,我正在使用INT(7)并且已经拥有大约300,000个具有大ID(7或8位数)的条目.我已经搜索了很多但只发现它使用了更多的磁盘空间(很明显).

我的所有ID现在都有7位数,但我的客户想要更改为8位数.我将来无法轻易更改软件,因此我想考虑使用BIGINT(20)以防万一.如果我使用BIGINT,即使我不需要它,它会不会那么高效吗?

有经验的人有没有关于速度和性能的建议?

mysql

43
推荐指数
2
解决办法
3万
查看次数

如何在ARC模式下验证引用计数?

我曾经在调试器下使用[myVar retainCount]验证我的一些变量是否具有预期的保留计数,尤其是对于没有自定义dealloc的var.

你如何在ARC模式下这样做?你如何确保没有内存泄漏?

注意:我理解ARC应该为我处理这个问题,但生活远非完美,而在现实生活中,你有一些有时被第三方库分配的对象(使用retain?)并且永远不会被解除分配.

我这样做的图像:

MyObj *myObj=[[MyObj alloc] init];
Run Code Online (Sandbox Code Playgroud)

然后我打电话

[somethingElse doSomethingWithMyObj:myObj];
Run Code Online (Sandbox Code Playgroud)

后来,我做到了

myObj=NULL;
Run Code Online (Sandbox Code Playgroud)

如果我的程序工作正常,我的期望是myObj正在被销毁,但似乎并非如此......

那么我该如何跟踪这一点,特别是如果我没有管理的东西?

现在,关于工具:在我的mac(使用5 Meg)上运行内存工具似乎非常困难,无需重新启动mac并从头开始.这真烦人!即使在程序启动之前,仪器仍然会崩溃,那么是否有更改解决方案?

iphone ios automatic-ref-counting

34
推荐指数
4
解决办法
3万
查看次数

Xamarin - 分配UICollectionViewDelegate消除了事件处理程序(反之亦然)

我有一个UICollectionView我需要独立收听滚动和选择事件的地方.我按如下方式分配DelegateScrolled事件处理程序:

public override void ViewWillAppear(bool animated)
(
    base.ViewWillAppear(animated);
    this.CollectionView.Delegate = this.CollectionViewDelegate;
    this.CollectionView.Scrolled += HandleCollectionViewScrolled;
}
Run Code Online (Sandbox Code Playgroud)

但是,在我分配事件处理程序之后,不再调用委托方法.并扭转他们:

public override void ViewWillAppear(bool animated)
(
    base.ViewWillAppear(animated);
    this.CollectionView.Scrolled += HandleCollectionViewScrolled;
    this.CollectionView.Delegate = this.CollectionViewDelegate;
}
Run Code Online (Sandbox Code Playgroud)

产生完全相反的结果(委托方法工作但没有滚动的监听器).

认为强类型委托的所有方法的必要实现可能会消除事件处理程序,我尝试分配WeakDelegate属性,这是一个NSObject仅实现的子类collectionView:didSelectItemAtIndexPath:.

public class MyCollectionViewDelegate : NSObject
{
    public MyCollectionViewDelegate() : base()
    {
    }

    [Export ("collectionView:didSelectItemAtIndexPath:")]
    public void ItemSelected(UICollectionView collectionView, MonoTouch.Foundation.NSIndexPath indexPath)
    {
        Console.WriteLine("It worked.");
    }
}
Run Code Online (Sandbox Code Playgroud)

但同样,我得到了相同的结果:只有事件处理程序或委托触发.还有其他人经历过这个吗?这是Xamarin的问题吗?我期望设置弱委托不应必然消灭事件处理程序.

值得注意的是,作为一种解决方法,我尝试使用KVO.但是当我尝试观察contentOffset集合视图的属性时,KVO崩溃了应用程序(也许我使用了错误的密钥路径名称).

c# xamarin.ios xamarin uicollectionview

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

UISearchBar上方的线

很长一段时间以来,我一直试图在我的UISearchBar上面删除一条有害的线路.它在浅色背景上显得较暗或在深色背景上显示为浅色:

在此输入图像描述 在此输入图像描述

我看了这个问题,但它与分隔符或拉动刷新无关.当我最终决定放弃并寻求帮助时,我又开始四处寻找并发现了一个非常简单(虽然可能并非完全直观)的解决方案,所以我想我会分享它以防其他人面临同样的问题.我按如下方式配置搜索栏:

// I tried this drawing method
[self.searchBar setBackgroundImage:[[UIImage imageNamed:@"linen_bg_bar.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]];
// and this one.
[self.searchBar setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"linen_bg_bar.png"]]];
// Same problem either way.

[self.searchBar setPlaceholder:NSLocalizedString(@"Filter", @"placeholder text in the search bar")];
[self.searchBar setSearchFieldBackgroundImage:[[UIImage imageNamed:@"linen_textfield_search.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(16, 16, 16, 16)] forState:UIControlStateNormal];
[self.searchBar setImage:[UIImage imageNamed:@"linen_icon_search.png"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal];
self.table.tableHeaderView = self.searchBar;
[self.table setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"linen_bg_dark.png"]]];
Run Code Online (Sandbox Code Playgroud)

根据这篇文章的建议,我尝试在它上面绘图,但似乎绘图仍然在线下面渲染.

CGRect rect = self.searchBar.frame;
UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, rect.size.width, 2)];
lineView.backgroundColor = [UIColor redColor]; …
Run Code Online (Sandbox Code Playgroud)

uitableview uisearchbar ios

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

如何在我的共享托管服务器中安装svn存储库

我计划在共享托管环境中托管一个站点,即使在托管之后,多个开发人员也可以同时在该站点上工作,所以我正在考虑在同一服务器空间上创建subversion存储库.

是否可以这样做,如果是这样,我如何在我的服务器空间中安装svn存储库?

svn hosting

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