如果我有以下代码:
-(int)number {
int i = 3;
return i;
}
Run Code Online (Sandbox Code Playgroud)
我可以通过&i得到整数i的内存地址.(比如在返回线的断点处暂停)
但是相应的程序集(ARM)很简单:
MOV R0, #3
Run Code Online (Sandbox Code Playgroud)
无处需要内存(存储指令除外),那么如何i获得内存地址?
好吧,我想为iPhone创建应用程序,从真正基本的东西开始并开始工作,但我现在没有Mac(我做的很好,但它是一个powerPC ibook G4,你不能在我投资之前,我想学习如何创建应用程序.
我还在报纸上看到一篇关于一个人如何开始创建应用程序(在Apple推出应用程序商店之前)用于越狱iphone的文章,然后当Apple推出应用程序商店时,他转而创建了"合法"应用程序.(文章说他继续使用他的电脑,但我不确定那是真的).
我想做类似的事情,但我不关心将任何应用程序发布到监狱破解的iphone,我只是想在PC上学习,然后我可以决定出售我的ibook并保存为Mac.
但是我不想出去买一台Mac(昂贵的),然后发现我很难理解并浪费了500英镑或者其他什么.
我一直在关注iTunes U上的斯坦福大学iphone视频.看到老师试图做类似这段代码的事情,但他意识到并说它没有用,虽然我没理解:
- (IBAction)flashPressed{
if (window.backgroundColor == [UIColor magentaColor]){
window.backgroundColor = [UIColor redColor];
}else {
window.backgroundColor = [UIColor magentaColor];
}
}
Run Code Online (Sandbox Code Playgroud)
Objective-C,基于Windows的应用程序.不确定你还需要知道什么.
我有4个数字0-3这是一个枚举(objective-c),我想使用公式得到相反的结果.因此,如果将0置于公式中,则返回2,如果输入2,则返回0(与1和3相同).
原因是(并且它与编程有关)我希望得到与枚举相反而不必执行if或switch语句.但这意味着任何公式(如果可能的话必须是非复杂的,因此它比使用if或switch更有效.
我正在与Daniel H Setinberg的"Cocoa Programming"开始我的Objective-C之旅.有一点让我对内存管理感到惊讶.实际上我发现Objective C中的内存管理比C更复杂,虽然我还没有触及"非垃圾收集语言"一段时间,所以使用malloc及其朋友的旧时代可能在我的记忆中理想化:).
让我困惑的是以下几点:
-(void) loadURLFromTextField{
NSURL *url = [NSURL URLWithString:self.address.text];
NSURLRequest *request = [NSURLRequest requestWithUrl:url];
[self.webView loadRequest:request];
}
Run Code Online (Sandbox Code Playgroud)
在第二行和第三行我分配了两个对象,所以我假设我需要在某处释放它们.然而,这段代码的评论指出:
"请注意,我们正在使用类方法来构建请求和URL的自动释放实例.我们不需要自己发布它们."
有人可以帮助我理解为什么这些实例是自动释放的,以及如何从SDK文档中获取此实例.返回对象实例的所有类方法实际上都是自动释放的标准吗?感谢您的帮助!
以前我添加IB的UITextView可以在不显示键盘的情况下选择文本.然而,如果突然没有改变任何事情,情况并非如此,我怎么能再次强迫这种行为呢?
(文本视图需要是可编辑的,但不是当用户双击选择文本时,仅当插入插入符号或用户只需点击文本视图时)
我有一个问题,理解函数重载是如何工作的,它归结为这个简单的例子:
class Foo {
public:
void bar(const bool & val) {}
};
void DoFn(std::function<void( Foo*, const wxString&)> fn ) {}
Run Code Online (Sandbox Code Playgroud)
如果我现在这样称呼DoFn:
DoFn( &Foo::bar );
Run Code Online (Sandbox Code Playgroud)
它编译得很好.如何在std :: function的模板参数中从bool转换为wxString?如果我将wxString更改为std :: string,则无法按预期编译.
(wxString是wxWidgets中的一个类,版本2.8)
我真正不明白的是wxString类如何声明它可以从bool转换为.
我尝试过如下课程:
class FakeString {
public:
FakeString(bool) {};
FakeString(const bool &){};
};
Run Code Online (Sandbox Code Playgroud)
并使用FakeString替换DoFn中的wxString,但它没有编译说:
could not convert '&Foo::bar' from 'void (Foo::*)(const bool&)' to 'std::function<void(Foo*, const FakeString&)>'
Run Code Online (Sandbox Code Playgroud) 如果我有以下代码:
try {
Entity questionEntity = datastore.get(currentKey);
questionEntity.doSomething();
} catch (EntityNotFoundException e) {
Entity questionEntity = new Entity(currentKey);
}
Run Code Online (Sandbox Code Playgroud)
当datastore.get()函数抛出一个异常,将代码(以下行questionEntity.doSomething();)在try块被执行?