我想知道是否有办法检查已经声明的变量是否已在Objective C中分配或初始化.
谢谢
编辑:我的愚蠢逻辑领先于我.没有一个只是理解呼叫的回报.好吧,我在python中运行了一些测试,并且我在执行命令方面遇到了一些差异,这让我了解它是如何实现的,但是我想让你好好运行它来看看如果我是对的,或者还有更多的东西.考虑以下代码:
>>> a = ["a","b","c","d","e"]
>>> def test(self,arg):
... print "testing %s" %(arg)
... a.pop()
...
>>>[test(elem) for elem in a]
testing a
testing b
testing c
[None, None, None]
>>> a
['a', 'b']
#now we try another syntax
>>> a = ["a","b","c","d","e"]
>>> for elem in a:
... print "elem is %s"%(elem)
... test(elem)
...
elem is a
testing a
elem is b
testing b
elem is c
testing c
>>> a
['a', 'b']
>>>
Run Code Online (Sandbox Code Playgroud)
现在这告诉我,a中的for elem获取下一个iteratable元素然后应用body,而在实际执行函数中的代码之前,理解以某种方式调用列表中每个元素的函数,因此从函数中修改列表(pop)导致] none,none,none]
这是正确的吗?这里发生了什么? …
我正在测试操场上快速阅读电子书并测试反斜杠插入值到字符串的东西..想知道如何用dictionnary数组做这个,但它似乎不喜欢它.
var str="dictionary values are \(dict['mine'])"
Run Code Online (Sandbox Code Playgroud)
这个错误了.只是想知道逃避这个的正确方法是什么,或者我应该在这种情况下将它们连接起来.
我对我正在测试以开始理解 posix 线程的一些代码有疑问。
我有这个基本代码:
#include <iostream>
#include <string>
#include <sstream>
#include <pthread.h>
using namespace std;
void *printInfo(void *thid){
long tid;
tid =(long)thid;
printf("Hello from thread %ld.\n",tid);
pthread_exit(NULL);
}
int main (int argc, char const *argv[])
{
int num =8;
pthread_t threadlist[num];
int rc;
long t;
for(t=0;t<num;t++){
printf("Starting thread %ld\n",t);
rc = pthread_create(&threadlist[t],NULL,printInfo,(void *)t);
if(rc)
{
printf("Error creating thread");
exit(-1);
}
}
pthread_exit(NULL);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
非常简单的代码,启动线程并从中打印,这一切都很神奇,除了我不明白主方法末尾之前的pthread_exit(NULL)最后一个。return 0;
看来主线程不应该是pthread,也不应该需要它!如果我不添加它,代码将不起作用:代码编译并执行,但我只收到“启动线程”打印消息,而不是“hello from ...”消息。
所以基本上我想知道为什么需要这样做。
另外,如果我注释掉 include ,代码就会正确编译和执行<psthread.h>。
我正在iphone上进行点式游戏,以获得乐趣(只是模拟器)和学习.这是有点的游戏,你用"路径"连接它们,如果你关闭4点创建的正方形,你就"赢得"正方形.
现在我收到一些警告,我想了解如何删除它们.首先是这种情况.我有一个代表2点之间连接的类,叫做Pathway.我有一个叫做电路的类,代表由4个路径创建的电路.所以Circuit类有一个由4个Pathways组成的NSMUtable数组
并且每个路径具有最多2个电路的NSMutable阵列(每个路径可以属于最多2个电路).所以你可以看到有一个导入周期.
我使用@class包含在另一个类中,否则我会在编译时遇到错误.
这一切都有效但我在其中一个类上收到警告,因为它无法看到另一个类的方法.
我该如何解决这个问题,以及解决这些问题的正确方法是什么.
你好我用css有这个奇怪的问题.
我正在显示一个无序列表
<ul>
<li>
<div class='align-left'>
PMI
</div>
<div class='align-right'>
<img src="/img/delete_icon2.png" id='19' class="elim" name="19">
</div>
</li>
<li>
<div class='align-left'>
GRANDS COMPTES
</div>
<div class='align-right'>
<img src="/img/delete_icon2.png" id='21' class="elim" name="21">
</div>
</li>
<li>
<div class='align-left'>
associations
</div>
<div class='align-right'>
<img src="/img/delete_icon2.png" id='22' class="elim" name="22">
</div>
</li>
<li>
<div class='align-left'>
PME
</div>
<div class='align-right'>
<img src="/img/delete_icon2.png" id='25' class="elim" name="25">
</div>
</li>
<li>
<div class='align-left'>
ecoles privees
</div>
<div class='align-right'>
<img src="/img/delete_icon2.png" id='28' class="elim" name="28">
</div>
</li>
<li>
<div class='align-left'>
organisme
</div> …Run Code Online (Sandbox Code Playgroud) 好的,如果我有这个:
NSString *lastPushed = (NSString *)[tagStack objectAtIndex:[tagStack count]-1];
.//do something with the last pushed element locally
.//do more cstuff here
.//after doing all the stuff needed in the function
[lastPushed release];
Run Code Online (Sandbox Code Playgroud)
其中tagStack是NSMutableArray
如果我发布了lastPushed,因为它没有被复制或者被引入,它是否只会释放这个引用,还是会实际释放mutableArray中的对象?