带参数的选择器(Selector with argument)

我有这样的方法:


- (void)methodWithParameter:(id)parameter {

}

我想用UIBarButtonItem来调用它

barButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(methodWithParameter:)];
我想指定参数,但我不能使用withObject:action后:因为我收到警告:

否-initWithBarButtonSystemItem:target:action:withObject:找到的方法

任何人都可以帮我吗?


I have a method like this:


- (void)methodWithParameter:(id)parameter {

}

and I want to call it using an UIBarButtonItem

barButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(methodWithParameter:)];
I want to specify the parameter but I can't use withObject: after action: because I get a warning:

No -initWithBarButtonSystemItem:target:action:withObject: method found

can anybody help me with this?


原文:https://stackoverflow.com/questions/4838515
2024-04-13 10:04

满意答案

由于100个元素的大小,过程非常快,您甚至不会发现任何差异。

所以你想要哪种方式。

但是,如果您正在查看数组中的大量项目,我会说第二个选项更快。 因为基数排序使用辅助缓冲区来存储部分排序结果。 这增加了该算法所需的内存。 在处理大量元素时,它会有很大的不同。


With the size of 100 elements, the process is so quick that you won't even recognise any differences.

So which ever way you want.

However, if you are looking at a larger number of items in an array, I would say the second option is faster. Because radix sort uses a secondary buffer to store partial sorting results. This increase the memory required for this algorithm. It makes a big different when dealing with big number of elements.

相关问答

更多

基于另一个数组排序的顺序对多个数组进行排序(Sorting multiple arrays based on another arrays sorted order)

[sorted, indices] = sort(c) % get your output with a(indices) b(indices) [sorted, indices] = sort(c) % get your output with a(indices) b(indices)

为什么最终排序比排序顺序更快?(Why sorting in the end is faster than inserting in sorting order?)

你的二进制搜索插入是O(N ^ 2); 每次插入都必须向上移动一步到O(N)个元素,然后执行N次。 但是,即使它是O(NlogN),排序代码的常量成本也远低于 Python代码可以匹配的成本。 如果你确实想要坚持二等分插入排序,而不是重新发明(无可否认的简单) bisect轮,请使用bisect模块 。 该模块带有C优化实现。 它甚至还有bisect.insort*()函数 ,它们注意到: 请记住,O(log n)搜索由缓慢的O(n)插入步骤控制。 另一个提示:不要使用挂钟时间来测量算法。 使用t...

排序或插入更有效的连接在JavaScript中的对象数组?(Is sorting or inserting more efficient with joining arrays of objects in javascript?)

我在三种不同的浏览器中测量了三种不同算法的结果。 关于所有与性能相关的问题有两件事是真实的 如果你真的想知道答案, 你必须在几个浏览器中测试你的具体算法才能真正回答这个问题。 许多与性能相关的问题实际上在给定的使用环境中并不重要 ,因此在担心使用它们之前,您只需要担心这些问题只不过是过早优化甚至不必要的优化所浪费的时间。 因此,在开展具体的业绩领域工作之前,您应该知道这一点很重要,并且知道值得花时间。 这就是说,下面是三种算法的一些测量。 这假定您从两个对象数组开始,每个对象数组都由每个对象中存在...

维护排序列表(Maintaining a sorted list)

如果您只需要有效地插入并快速检索具有最低值的项目,那么您不需要排序列表。 你需要一堆 。 查看通用二进制堆类 。 If all you need is to efficiently insert, and quickly retrieve the item with the lowest value, then you don't need a sorted list. You need a heap. Check out A Generic Binary Heap Class.

如何在保持顺序的同时有效地将列表插入到排序的向量中?(How do I efficiently insert a list into a sorted vector while maintaining order?)

您可以使用vector::insert轻松完成此操作,但我不相信该实现可以有效地获得两个双向迭代器的距离,因此您可能希望保留空间以避免不需要的向量调整大小。 至少从C ++ 11开始, list::size必须是恒定时间,所以如果你至少在那个版本上,你可以预先保留足够的空间。 否则,因为您知道V大于L只需在insert前insert V的容量加倍: V.reserve(V.size() + L.size()); V.insert(V.end(), L.begin(), L.end()); You...

什么是更好的插入值在数组中,然后排序或插入,同时保持排序顺序?(what is better insert values in an array and then sorting or inserting while maintaining sorted order?)

由于100个元素的大小,过程非常快,您甚至不会发现任何差异。 所以你想要哪种方式。 但是,如果您正在查看数组中的大量项目,我会说第二个选项更快。 因为基数排序使用辅助缓冲区来存储部分排序结果。 这增加了该算法所需的内存。 在处理大量元素时,它会有很大的不同。 With the size of 100 elements, the process is so quick that you won't even recognise any differences. So which ever way y...

将整数插入到已排序的数组中(Inserting an integer into a sorted array)

更改 if(k < s[i]) { 至 if(k < a[i]) { 在第4行。 Change if(k < s[i]) { to if(k < a[i]) { in line 4.

Sorted String Array - 按顺序插入值(Sorted String Array - Insert value in order)

一种简单的方法是将新项目附加到数组的末尾,然后将其与前一项目交换(如果它更小),重复直到它处于正确的位置。 我还纠正了你增长阵列的条件。 你不需要maxlength成员字段,你有data.length 。 // Grow array when array is full. if (numberofitems >= data.length) GrowArray(); // Append to the end, at this point we always have enough space. d...

将行插入到表中,哪些行按某个值属性排序(Inserting rows into table which rows are sorted by some value attribute)

最初,您可以使用基本sort功能对表进行sort (如果行尚未排序): 标记 (注意:添加了自定义val属性作为数据属性) <table> <tbody> <tr data-val="1"><td>1st</td></tr> <tr data-val="4"><td>3rd</td></tr> <tr data-val="7"><td>4th</td></tr> <tr data-val="2"><td>2nd</td></tr> </tbody> </ta...

timsort或手动维护一个排序的序列,哪个更有效?(timsort or manually maintaining a sorted sequence, which is more efficient?)

似乎最好的方法是实际使用自平衡二叉搜索树。 如果我没有弄错的话,这应该处理O(log N)中的插入/删除并迭代O(k)中的k个最小元素。 除非您有某些原因,否则必须使用列表。 Seems like the best approach would be to actually use a self-balancing binary search tree. This should handle inserts/deletes in O(log N) and iterating over the k-...

相关文章

更多

-bash: /bin/mv: Argument list too long的解决方案

在linux服务器移动文件的时候,我们一般是 mv 源文件 目标目录,如 [.....]# mv .. ...

css选择器使用

标签选择器: 语法: 标签名 { 属性键:属性值; } ...

Shell命令格式

Shell命令由两部分组成:一个是Shell提示符,另一个是命令,Command –Options A ...

JMS&ActiveMQ实战- Selector

前面的例子中创建一个消息消费者使用的是:sesssion.createConsumer(destina ...

JMS&ActiveMQ实战- JMSCorrelationID与Selector

前面讲过JMSCorrelationID主要是用来关联多个Message,例如需要回复一个消息的时候, ...

Guava Preconditions类-检查参数

static int checkPositionIndex(int index

选择Hibernate还是iBatis?

高手们,在企业管理系统中,选择Hibernate还是iBatis?

tomcat设置成utf8,怎样确保从用户手动在浏览器里输入的url中的中文参数

如题,tomcat必须设置成utf-8,获取的url是用户手动输入的(不是程序里写的),url里含有中 ...

extjs与jquery的选择

由于想系统地学习下js框架,extjs没接触过,不过界面这方面真的好PL,jquery浅尝过,觉得好方 ...

最新问答

更多

如何引用共享重复名称的不同枚举值?(How to refer to different enum values which share a duplicate name?)

你不能。 编译器应该警告你。 enum常量存在于全局命名空间中。 第二个定义是重新定义,应该产生错误。 You can't. And the compiler should warn you about that. enum constants live in the global namespace. The second definition is a redefinition that should produce an error.

如何定位一个元素,使其整齐地放置在包装线下(How to position an element such that it neatly rests under a wrapped line)

div { display:inline-block; width:100%; border: 1px solid #000; } p { display:inline; } .button-primary { float:right; } Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun

将大量边缘插入OrientDB会导致崩溃(ODatabaseException)(Inserting Large Amounts of Edges into OrientDB causes crash (ODatabaseException))

尝试这样的东西来创建边缘 OrientVertex vertex = graph.getVertex(houseList.get(h1).getRid()); OrientVertex vertex2 = graph.getVertex(houseList.get(h2).getRid()); vertex.addEdge("similarity",vertex2,new Object[]{"score",houseSim[h1][h2]}); Well, seems like the pro

如何解决登录页面,而不是重定向(How to solve login page, not redirecting)

你可以尝试使用其他条件 prepare("SELECT * FROM users WHERE emailAddress=:umail"); $stmt->bindValue(":umail", $umail); $stmt->execute(); $userRow = $stmt->fetchAll();

弹性搜索中基于人类语言的搜索(Human language based searches in elasticsearch)

机器对自然语言的理解是一个尚未解决的问题,也是一个活跃的研究领域,所以简短的答案是否定的,弹性研究无法理解人类语言。 NLP通常通过信息提取来进行语义(理解),信息提取是NLP内的子字段。 Elasticsearch是一个很好的工具,但它不是为信息提取而设计的 - 它最好被认为是一个带有一些额外功能的索引工具。 您可能对命名实体识别(NER)和概念识别更感兴趣,以回答您所描述的在Elasticsearch中支持最少的查询类型。 您提出的问题实际上是一个非常难以回答的问题,这就是为什么亚马逊在搜索

内存分配器的开销(Overhead of memory allocator)

这并没有真正回答你的问题,但Boost最近刚刚在最新版本中添加了一个内存池库。 它可能不是你想要的,但有一个彻底的对齐处理可能会引发一个想法? 如果文档不够,总会有源代码。 This doesn't really answer your question, but Boost has just recently added a memory pool library in the most recent version. It may not be exactly what you want,

在jsp中使用jstl版本和jsp库获取错误(getting error with jstl version and jsp library using in jsp)

你Tomcat极度过时了。 Tomcat 5.5(Servlet 2.4)不支持jsp表达式语言。 有关适当的Tomcat版本,请参阅此页面 。 如果可以,请更新到Tomcat 7。 You Tomcat is extremly outdated. Tomcat 5.5 (Servlet 2.4) does not support the jsp expression language. See this page for an appropriate Tomcat version. Updat

()发布后如何再次播放MediaPlayer(How to play again MediaPlayer after release())

只要移动你的 final MediaPlayer soundda = MediaPlayer.create(this, R.raw.da); 在onClick()之前 soundda.start(); 因此无论您是否发布它,还是尚未创建,都需要在播放之前创建MediaPlayer 。 也不要使用this ,而要使用.this ,因为您将在OnClickListener移动代码,并将其视为OnClickListener对象,并且需要一个Context对象

断言纯RESTful应用程序要求HTTPS安全是否正确?(Is it correct to assert that pure RESTful applications require HTTPS to be secure?)

假。 每个请求都带有身份验证的事实并不意味着可以重播请求。 HTTP DIGEST可用于身份验证,并且无法重放摘要式身份验证,因为来自服务器的质询将在每个连接上携带不同的nonce,并且客户端无法重用nonce: 允许服务器随机数包含时间戳。 因此,服务器可以检查客户端提交的nonce属性,以防止重放攻击。 还允许服务器维护最近发布或使用的服务器现时值列表,以防止重用 要求HTTPS本身并不坏,它肯定会增加对流量的隐私和篡改保护,但不需要防止重放和复制粘贴攻击。 False. The fact

如何在Spring中销毁servlet时捕获Configuration类中的回调?(How to catch callback in Configuration class when servlet is destroyed in Spring?)

取决于您在项目中使用的弹簧版本,您可以通过这种方式实现它。 春天4.2+ class Foo { @EventListener public bar(ContextStoppedEvent event) { } } 春天<4.2 class Foo implements ApplicationListener { void onApplicationEvent(ContextStoppedEvent event); }