老实说,我做了a)使用关键词进行搜索,然后b)在询问之前阅读"类似标题的问题".
此外,我试图让这个问题更简洁,但在这种情况下,我很难做到这一点.如果你觉得这个问题过于冗长,我就明白了.只是不要试图回答.
我正在尝试编写非常简单的Objective-C程序,它们反映了我的入门java类中的基本作业.我在夏天完成了一本客观的书,现在我想在objective-c中做很多练习题,同时我还要练习java练习题.我正在避开Objective-c GUI环境,只想专注于使用该语言一段时间.关于如何解决问题,我还有很多东西需要学习.
我正在从我的java作业复制的程序是标准类型.我要求用户通过控制台输入数字和输入字符串.我能够使用扫描f在此处找到的示例从控制台获取数字输入.(我将在下面列出几个代码行).但我不确定如何获取控制台输入并将其存储在字符串(NSString)中.我正在尝试学习使用apple文档并找到一个扫描类型命令的参考,但我无法弄清楚如何使用该命令.似乎很可能是
scanCharactersFromSet:(NSCharacterSet )scanSet intoString:(NSString*)name;
这是我理解和工作的
int age = 0;
NSLog (@"How old are y'all?");
scanf("%d", &age);
NSLog (@"\n Wow, you are %d !", age);
Run Code Online (Sandbox Code Playgroud)
但我不明白如何拾取名为'name'的NSString.我认为我应该把我的'name'作为指针,因为这个类是NSString.
(顺便说一下,我确实尝试使用scanf来拾取字符串,但是编译器不喜欢我尝试将scanf与name一起使用.它说我不应该使用'scanf',因为它期望不同类型的数据.我不确定我在哪里找到数据类型'i'.我正在查看我的文本以寻找不同的想法.我猜测scanf与'scanfloat'有关,它显然处理数字数据,所以这不是很大惊喜)
我意识到'scanf'不是正确的命令(我真的不明白为什么我甚至无法在苹果文档中找到scanf - 也许它是C?)
我猜测scanCharactersFromSet可能是正确的用法,但我只是不明白你是如何弄清楚命令中的位置.我想我倾向于通过实例学习,而我还没有找到一个例子.我想通过阅读文档来弄清楚如何正确学习.但我还没有.
NSString* name ;
scanf("%i", &name);
//scanCharactersFromSet:(NSCharacterSet *)scanSet intoString:(NSString **)name;
Run Code Online (Sandbox Code Playgroud)
...
我的书的目的是让我进入一个gui环境,所以它不涉及输入.
感谢您给我的任何指示.
月桂树
我正在研究Holzner所着的"Visual Quick Start,Objective-C"一书中的例子.我花了很多时间在每个例子上,调试代码是更快的部分,然后逐步告诉自己为什么每行代码都工作,每行中的每个单词做什么,并决定作者使用一种做法的原因事情与另一个.然后我用自己的一些故事重复这个例子.这似乎是从结构化程序员转变为类似oop的好方法.它适用于这些示例,因为他一次只做一个概念.(我已经完成了另外两本书的工作,这个想法对我来说不起作用.一旦我对某些东西感到困惑,我只是感到困惑.在更长,更复杂的例子中有太多的变数.)
在当前示例(第137页)中,Holzner使用"静态"一词.我查看了本书中的示例来确定这个词的含义.我还阅读了Bjarne Stroustrups的C++编程语言书中的描述(我理解C++和Objective-C并不完全相同)
(Bjarne Stroustup p 145)使用静态变量作为内存,而不是"可能被其他函数访问和破坏"的全局变量
这就是我理解的"静态"意味着结果.我认为这意味着静态变量的值永远不会改变.我认为这意味着它就像一个恒定值,一旦你将它设置为1或5,它就无法在运行期间被改变.
但是在这个示例代码中,静态变量的值确实发生了变化.所以我真的不清楚"静态"意味着什么.
(请忽略我留下评论的'后续问题'.我不想改变我的运行中的任何内容,并冒着创建阅读错误的风险
谢谢你能给我的任何线索.我希望我没有在这个问题上加入太多细节.
月桂树
.....
Program loaded.
run
[Switching to process 2769]
Running…
The class count is 1
The class count is 2
Debugger stopped.
Program exited with status value:0.
Run Code Online (Sandbox Code Playgroud)
.....
//
// main.m
// Using Constructors with Inheritance
//Quick Start Objective C page 137
//
#include <stdio.h>
#include <Foundation/Foundation.h>
@interface TheClass : NSObject
// FOLLOWUP QUESTION - IN last version of contructors we did ivars like this …Run Code Online (Sandbox Code Playgroud) 我正在使用Steinberg的iBook'IOS SToryboards'转换到使用故事板.在第30页上,作者的教程显示将Identity Inspector中的"Storyboard ID"设置为redScene的值.在图书图形中,这显示为"识别"下的第一个字段
在XCode 4.6.1中,我没有看到"Storyboard ID",但我确实看到了一个名为"Restoration ID"的字段,我将其设置为值'redScene'.然后我在ViewController.m中使用该值
- (IBAction)redButtonTapped:(id)sender {
UIViewController *redViewController = [[self storyboard]
instantiateViewControllerWithIdentifier:@"redScene"];
[self presentViewController:redViewController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行我的应用程序时,我在我引用'redScene'的行上得到一个错误.我设置了一个异常断点,我明白了
(LLDB)
我不确定在左侧调试器显示的值中要查看什么,但我知道可能我的代码不知道'redScene'是谁.
我开始学习使用苹果文档,但我仍然不确定如何找到正确的区域来阅读.我尝试在那里搜索"恢复ID"和"故事板ID",但我没有得到任何结果.
我在这篇文章中提供了足够的信息吗?
谢谢你的任何想法
月桂树