zoukankan      html  css  js  c++  java
  • hello,world不使用ARC

    main.m

    //
    //  main.m
    //  Hello
    //
    //  Created by lishujun on 14-8-28.
    //  Copyright (c) 2014年 lishujun. All rights reserved.
    //
    
    #import <UIKit/UIKit.h>
    
    // 视图控制器对象
    @interface HelloWorldViewController : UIViewController
    @end
    
    @implementation HelloWorldViewController
    
    -(void) loadView
    {
        /*
         self.view = contentView; 
         [self setView contentView];
         等价,设置属性其实是调用set方法
         */
        
        //创建视图对象
        UIView *contentView = [[UIView alloc]initWithFrame:[[UIScreen mainScreen] applicationFrame]];
        NSLog(@"new contentView : %d", [contentView retainCount]);  // new contentView : 1
        contentView.backgroundColor = [UIColor lightGrayColor];
        NSLog(@"set contentView : %d", [contentView retainCount]);  // set contentView : 1
        [self setView: contentView];
         NSLog(@"add contentView : %d", [contentView retainCount]); // add contentView : 2
        
        //创建label对象
        UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 30.0)];
        NSLog(@"new label : %d", [label retainCount]);              // new label : 1
        label.text = @"Hello World";
        label.center = contentView.center;
        label.textAlignment = UITextAlignmentCenter;
        label.backgroundColor = [UIColor clearColor];
        label.textColor = [UIColor redColor];
        NSLog(@"set label : %d", [label retainCount]);              // set label : 1
        
        //在视图上添加label
        [contentView addSubview:label];
        NSLog(@"add label : %d", [label retainCount]);              // add label : 2
        [label release];
         NSLog(@"release label : %d", [label retainCount]);         // release label : 1
        
    }
    
    @end
    
    
    // 委托对象
    @interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate>
    {
        IBOutlet UIWindow *window;
    }
    
    @property (nonatomic, retain) UIWindow *window;
    @property (nonatomic, retain) HelloWorldViewController *viewController;
    //window 必须声明为属性,声明为局部变量则无法绘制视图,显示为黑屏
    //apple 官方文档把viewController也声明为属性了
    @end
    
    @implementation HelloWorldAppDelegate
    
    @synthesize window;
    @synthesize viewController;
    
    -(void) applicationDidFinishLaunching:(UIApplication *)application
    {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]];
        self.viewController = [[HelloWorldViewController alloc]init];
        self.window.rootViewController = self.viewController;
        [self.window makeKeyAndVisible];
    }
    
    @end
    
    // 程序入口
    int main(int argc, char * argv[])
    {
        @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, @"HelloWorldAppDelegate");
        }
    }

    输出:

    2014-08-30 11:47:30.980 HelloNOARC[562:60b] new contentView : 1
    2014-08-30 11:47:30.983 HelloNOARC[562:60b] set contentView : 1
    2014-08-30 11:47:30.984 HelloNOARC[562:60b] add contentView : 2
    2014-08-30 11:47:30.985 HelloNOARC[562:60b] new label : 1
    2014-08-30 11:47:30.986 HelloNOARC[562:60b] set label : 1
    2014-08-30 11:47:30.986 HelloNOARC[562:60b] add label : 2
    2014-08-30 11:47:30.987 HelloNOARC[562:60b] release label : 1
  • 相关阅读:
    3-2 表的增删改查
    3-1 存储引擎的介绍
    2-1 库的增删改查
    1-4 初识sql语句
    1-3 mysql的安装和基本管理
    1-2 数据库概述
    1-1 数据库管理软件的由来
    4-6 IO模型对比
    《测试软件工程师》11,13 测试用例格式
    《软件测试工程师》10 测试环境搭建
  • 原文地址:https://www.cnblogs.com/code-style/p/3946258.html
Copyright © 2011-2022 走看看