我有一个控制器/视图的通用项目列表,可以扩展显示自定义列表..列表和导航工作正常..但我无法更改UINavigationController的标题.在通用控制器中:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview: navigationController.view];
}
- (void)setNavigationTitle: (NSString *)title
{
NSLog(@"set title: %@", title); // this works
self.navigationController.title = title; // Nothing works here
}
Run Code Online (Sandbox Code Playgroud)
然后,扩展类做..
- (void)viewDidLoad
{
[super viewDidLoad];
[self setNavigationTitle: @"Custom list"];
}
Run Code Online (Sandbox Code Playgroud)
navigationBar仍然有"Item"作为标题:(
采用一个字符串示例,550e8400-e29b-41d4-a716-446655440000
如何计算 -
这样的字符串中有多少个字符?
我目前正在使用:
int total = "550e8400-e29b-41d4-a716-446655440000".Split('-').Length + 1;
Run Code Online (Sandbox Code Playgroud)
是否有任何方法我们不需要添加1 ...就像使用Count
可能?
所有其他方法如
Contains
IndexOf
等只返回第一位置和boolean
价值,没有返回多少被发现.
我错过了什么?
我正在寻找一种算法或建议来改进我的代码,以生成一个随机数列表,其总和等于某个任意数.使用我的代码,它总是有偏见,因为第一个数字往往会更高.
有没有办法让数字选择更有效率?
#!/usr/bin/python
'''
Generate a list of 'numbs' positive random numbers whose sum = 'limit_sum'
'''
import random
def gen_list(numbs, limit_sum):
my_sum = []
for index in range(0, numbs):
if index == numbs - 1:
my_sum.append(limit_sum - sum(my_sum))
else:
my_sum.append(random.uniform(0, limit_sum - sum(my_sum)))
return my_sum
#test
import pprint
pprint.pprint(gen_list(5, 20))
pprint.pprint(gen_list(10, 200))
pprint.pprint(gen_list(0, 30))
pprint.pprint(gen_list(1, 10))
Run Code Online (Sandbox Code Playgroud)
输出
## output
[0.10845093828525609,
16.324799712999706,
0.08200162072303821,
3.4534885160590041,
0.031259211932997744]
[133.19609626532952,
47.464880208741029,
8.556082341110228,
5.7817325913462323,
4.6342577008233716,
0.22532341156764768,
0.0027495225618908918,
0.064738336208217895,
0.028888697891734455,
0.045250924420116689]
[]
[10]
Run Code Online (Sandbox Code Playgroud) 大家好我想在codeigniter上下文中提供一些静态html页面.我不想绕过base_url中的index.php文件.但是当我用户调用HTML文件时,它会显示404错误页面.我很感谢那些已经解决这个问题的人对这个主题的任何帮助.谢谢大家提前
我想要精确这些元素:
所以我将HMLT1目录移动到了Application\views目录.我仍然有同样的错误.我的.htacces看起来像这样:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
Run Code Online (Sandbox Code Playgroud)谢谢大家帮助
我正在尝试使用rpm安装一个软件包,为此我创建了一个不同的数据库,rpmdb --initdb --dbpath $HOME/myrpmdb
并在编译时指定了--dbpath中的路径.我得到的错误是
root@jason:su rpm --dbpath $HOME/myrpmdb -ivh XXX.rpm
error: Failed dependencies:
/bin/sh is needed by XXX
Run Code Online (Sandbox Code Playgroud)
和/ bin/sh存在我可以通过某种方式将其指定给安装程序吗?在创建不同的rpm数据库时是否有一些我错过的原因现在它无法对默认命令进行优化?
我是Perl的新手.我需要使用外部模块HTTP :: BrowserDetect.我正在测试一些代码,并试图从os_string方法获取操作系统的名称.所以,我只是初始化了对象并创建了一个变量来存储返回的值.
my $ua = HTTP::BrowserDetect->new($user_agent);
my $os_name = $ua->os_string();
print "$user_agent $os_name\n";
Run Code Online (Sandbox Code Playgroud)
有一些用户代理不是浏览器用户代理,因此他们不会从os_string获取任何值.我收到了一个错误Use of uninitialized value $os_name in concatenation (.) or string
当$ os_name未初始化时如何处理这种情况,因为方法os_string返回undef(这是我认为通过阅读模块源代码发生的事情).我想应该有一种方法来提供默认字符串,例如在这些情况下没有操作系统.
我正在寻找一个好的cronjob教程或书籍来学习如何使用PHP创建一个.
在我的应用程序中,我使用计时器来检查RSS提要中的更新,如果找到新项目,我会弹出一个自定义对话框来通知用户.当我手动运行检查时,一切都很好,但是当自动检查在计时器Elapsed事件中运行时,不会显示自定义对话框.
首先是这是一个线程问题?(我假设这是因为手动和自动检查都使用相同的代码).
当我运行自动检查时,是否必须从Timers Elapsed事件处理程序调用运行检查的方法?
我的自定义对话框类中是否需要执行某些操作?
编辑:这是一个winforms应用程序.
以下是代码的示例.(请不要在此代码示例中指出语法错误,这只是一个简单的示例,而不是真正的代码).
public class MainForm : System.Windows.Forms.Form
{
//This is the object that does most of the work.
ObjectThatDoesWork MyObjectThatDoesWork = new ObjectThatDoesWork();
MyObjectThatDoesWork.NewItemsFound += new NewItemsFoundEventHandler(Found_New_Items);
private void Found_New_Items(object sender, System.EventArgs e)
{
//Display custom dialog to alert user.
}
//Method that doesn't really exist in my class,
// but shows that the main form can call Update for a manual check.
private void Button_Click(object sender, System.EventArgs e)
{
MyObjectThatDoesWork.Update();
}
//The rest of …
Run Code Online (Sandbox Code Playgroud) 我想在TFS中使用Tortoise SVN diff实用程序.我知道如何在TFS中配置用户工具.我需要的是Tortoise SVN diff实用程序的安装程序.我想我需要安装完整的Tortoise SVN才能获得SVN diff工具,是否可以下载这个工具的独立版本?
我知道其他各种差异工具都可以使用,比如winMerge等,但我对龟龟svn diff非常熟悉.
这是一个内存堆栈(作为高速缓存),其包含的只是一个静态的ConcurrentHashMap(CHM).
所有传入的HTTP请求数据都存储在此ConcurrentHashMap中.而且还有一个非同步调度过程中,从相同的ConcurrentHashMap取得数据,并将它们存储到数据库中后删除key.value.
该系统运行良好和平稳,但在以下条件才发现,内存得到了充分利用(2.5GB)和所有的CPU时间被送往执行GC:
-concurrent http命中1000/s
- 在15分钟内保持相同的并发命中
每次写入数据库时,异步进程都会记录CHM的剩余大小.CHM.size()保持在Min:300到Max:3500左右
我认为此应用程序存在内存泄漏.所以我使用Eclipse MAT来查看堆转储.运行可疑报告后,我从MAT获得了这些评论:
"org.apache.catalina.session.StandardManager" 通过 "org.apache.catalina.loader.StandardClassLoader @ 0x853f0280" 加载的一个实例占据2135429456(94.76%)字节.该存储器中的"$ java.util.concurrent.ConcurrentHashMap中段[]"通过""加载一个实例积累.
3,646,166 instances of java.util.concurrent.ConcurrentHashMap$Segment retain >= 2,135,429,456 bytes.
Run Code Online (Sandbox Code Playgroud)
和
Length # Objects Shallow Heap Retained Heap
0 3,646,166 482,015,968 >= 2,135,429,456
Run Code Online (Sandbox Code Playgroud)
我将上面的长度0转换为CHM内的空长度记录(每次调用CHM.remove()方法).它与数据库内的记录数一致,创建此转储时,数据库中有3,646,166条记录
奇怪的情况是:如果我暂停压力测试,堆内存中的利用率将逐渐降至25MB.这需要大约30-45分钟.我重新模拟了这个应用程序,曲线看起来类似于下面的VisualVM图:
继承人的问题:
1)这看起来像是内存泄漏吗?
2)每次删除调用remove(Object key, Object value)
以<key:value>
从CHM中删除a ,删除的对象是否获得GC?
3)这与GC设置有关吗?我添加了以下GC参数但没有帮助:
-XX:+UseParallelGC
-XX:+UseParallelOldGC
-XX:GCTimeRatio=19
-XX:+PrintGCTimeStamps
-XX:ParallelGCThreads=6
-verbose:gc
Run Code Online (Sandbox Code Playgroud)
4)非常感谢任何解决这个问题的想法!:)
新 5)可能因为我的所有参考都是难以参考的吗?我的理解是,只要HTTP会话结束,所有那些非静态的变量现在都可用于GC.
新注意我尝试用ehcache 2.2.0替换CHM,但是我遇到了相同的OutOfMemoryException问题.我想ehcache也在使用ConcurrentHashMap.
服务器规格:
-Xeon Quad内核,8个线程.
-4GB内存
-Windows 2008 R2
-Tomcat 6.0.29