论坛首页 移动开发技术论坛

iOS hello world 解决官方教程不能运行问题

浏览 2326 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-05-17  
iOS
     经过两天的折腾,终于将iOS开发环境搭建起来。公司用的是Mac mini server 进行开发不光要搭建软件环境,还要搭建硬件环境十分复杂,而且公司的网速非常慢,下载xcode和系统更新尤其是个大问题。今天整整跑了4趟网吧才搞定。
     言归正传,在安装官方的例子
http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/100-iOS_Development_Quick_Start/development_quick_start.html#//apple_ref/doc/uid/TP40007959-CH3-SW1
写hello world的时候遇到一个问题就是程序一闪而过,没有报错,编译成功,对与新手来说往往不知所措。
     对比官方提供的源码发现。MyView.h 内需要做更改,即MyView.h需要继承UIView.
更改后的MyView.h代码如下:
// MyView.h
#import <UIKit/UIKit.h>
 
@interface MyView : UIView {
}
 
@end

     另外在MyView.m中需要添加一个initWithFrame方法。

- (id)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        // Initialization code
    }
    return self;
}

也就是说MyView.m修改后如下:
// MyView.m
#import "MyView.h"
 
@implementation MyView
 
- (id)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        // Initialization code
    }
    return self;
}
 
- (void)drawRect:(CGRect)rect {
   NSString *hello   = @"Hello, World!";
   CGPoint  location = CGPointMake(10, 20);
   UIFont   *font    = [UIFont systemFontOfSize:24];
   [[UIColor whiteColor] set];
   [hello drawAtPoint:location withFont:font];
}
 
- (void)dealloc {
    [super dealloc];
}
 
@end


这些东西在前面的教程中都没有提到,我发现很多hello world程序都是存在一些小bug。不知道是作者坑爹还是故意为之。
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics