iPhone开发入门篇 “Hello World”分析代码

每个学习程序开发的第一个程序都是“Hello World”,作为刚刚入门iPhone应用程序开发者,掌握“Hello World”的分析代码是十分重要的。本篇将介绍了Hello World程序的分析代码,也就是到底这个程序是怎么say Hello的。

iPhone应用程序开发初探

这个程序基本的运行顺序是:载入窗口(UIWindow)->载入自定义界面(MyViewController),而各种消息的处理均在自定义的界面当中.而程序的设计遵循了MVC(Model-View-Controller)方法,也就是界面和程序是分开做的,通过controller联接彼此.


iPhone的Hello World程序

首先看窗口.在 HelloWorldAppDelegate.h 文件当中有这样两行:
  1. IBOutlet UIWindow *window;  
  2. MyViewController *myViewController;
复制代码
其中第一行定义了程序的窗口,第二行定义了我们自己的界面.在 HelloWorldAppDelegate.m 文件中,函数

- (void)applicationDidFinishLaunchingUIApplication *)application 是iPhone开发者经常要打交道的一个,定义了程序启动后要做的工作.这几行程序的任务是:指定 myViewController 为子界面,
  1.   1.        MyViewController *aViewController = [[MyViewController alloc] initWithNibName:@”HelloWorld” bundle:[NSBundle mainBundle]];  
  2. 2.        self.myViewController = aViewController;  
  3. 3.        [aViewController release];
复制代码
并把子界面显示到上面来.
  1. UIView *controllersView = [myViewController view]; 
  2. [window addSubview:controllersView];  
  3. [window makeKeyAndVisible];
复制代码
前面提到了,程序设计遵循了MVC方法,但我们还没介绍代码和界面之间是怎么联系的,也就是说,我们说了程序的UIWindow和view controller要干什么什么,也画出了界面,可iPhone怎么知道哪个类对应哪个界面呢?这个是在IB(Interface Builder)中完成的.请双击 HelloWorld.xib 打开IB.下面看的就是我们的界面.

iPhone界面

点到File’s Owner,在Identity Viewer中,注意Class为MyViewController,这就定义了Model和View之间的对应关系.在同一个xib文件中,File’s Owner设定为一个类,并指向其View,该对应关系就建立好了.


在 MyViewController.m 文件中,
  1. 1.        - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  
  2. 2.        {  
  3. 3.        // Dismiss the keyboard when the view outside the text field is touched.  
  4. 4.        [textField resignFirstResponder];  
  5. 5.        // Revert the text field to the previous value.  
  6. 6.        textField.text = self.string;  
  7. 7.        [super touchesBegan:touches withEvent:event];  
  8. 8.        }  
复制代码
的作用是:对触摸做出响应.当触摸在键盘外时,通过 resignFirstResponder 撤销键盘.
  1. 1.        - (BOOL)textFieldShouldReturn:(UITextField *)theTextField {  
  2. 2.        // When the user presses return, take focus away from the text field so that the keyboard is dismissed.  
  3. 3.        if (theTextField == textField) {  
  4. 4.        [textField resignFirstResponder];  
  5. 5.        // Invoke the method that changes the greeting.  
  6. 6.        [self updateString];  
  7. 7.        }  
  8. 8.        return YES;  
  9. 9.        }
复制代码
作用是:当输入完文字并按Return后,隐藏键盘,并调用updateString命令来更新显示.这个命令如下:
  1. 1.        - (void)updateString {  
  2. 2.        // Store the text of the text field in the ‘string’ instance variable.  
  3. 3.        self.string = textField.text;  
  4. 4.        // Set the text of the label to the value of the ‘string’ instance variable.  
  5. 5.        label.text = self.string;  
  6. 6.        }  
复制代码
简单的说就是用输入的文字来替换标签原来的文字以更新显示.

好了,关于Hello World的分析代码就介绍到这,主要语句的功能都解说到了.希望大家喜欢。

内容概要:本研究聚焦于绿电直连型电氢氨园区的优化运行,提出一种集成绿色电力直接供给、电解水制氢及氢气合成氨工艺的综合能源系统架构。通过建立包含风光发电、电解槽、氨合成反应器、储氢罐、电网交互及多类型负荷在内的系统模型,综合考虑绿电直供优先、能量梯级利用与多能互补原则,构建以系统综合运行成本最小化为目标的优化调度模型。研究采用Matlab与Python工具进行算法求解和仿真分析,利用实际气象与负荷数据完成案例验证,评估了不同运行策略下系统的经济性、可再生能源消纳能力与碳减排效益,为新型电氢氨一体化园区的规划与运行提供了理论依据和技术支撑。; 适合人群:具备一定电力系统、新能源或化工背景的研究生、科研人员及从事综合能源系统规划与优化工作的工程技术人员。; 使用场景及目标:①用于科研学习,理解电-氢-氨多能转换系统的建模与优化方法;②为工业园区的低碳化、智能化改造提供技术参考与决策支持;③作为开发类似综合能源管理系统的理论基础。; 阅读建议:此资源包含完整的模型代码、数据与论文,使用者应结合代码仔细研读论文中的模型构建部分,重点关注目标函数与约束条件的设计逻辑,并尝试修改参数进行仿真,以深入掌握优化算法在实际系统中的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值