Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone



Clound SSD Virtual Server

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc (Objective-C , iPhone)

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc (Objective-C , iPhone) ในการสร้าง Project สำหรับเขียน iPhone หรือ iPad บน Xcode ด้วยภาษา Objective-C เราจะเห็นว่า Class ของ .m (implementation) จะมี method หลาย ๆ ตัวได้ถูกประกาศไว้อัตโนมัติ รวมทั้ง property หรือตัวแปร จะถูก release อัตโนมัติเช่นเดียวกัน เช่น method ชื่อว่า viewDidLoad , didReceiveMemoryWarning และ dealloc โดยหลัก ๆ เราจะเห็นอยู่ 3 ตัว และเราจะมาทราบความหมายของแต่ล่ะตัวว่ามันคืออะไร และใช้งานยังไง

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc


method เหล่านี้จะถูกสร้างอัตโนมัติหลังจากที่ได้ Create Project ด้วย Xcode และเราไม่ต้องทำการลบ เอาออกจากโปรแกรม ต่อให้ไม่ได้เรียกใช้งาน ก็จะไม่มีผลใด ๆ ต่อการทำงานของโปรแกรมทั้งสิ้น

ความหมายของ method แต่ล่ะตัว

viewDidLoad() เป็น method คล้ายกับ OnLoad , Load ซึ่งจะทำงานทุกครั้งหลังจากที่โหลดหน้า App เรียบร้อย เราจะนิยมแทรกอะไรก็ตามที่ทำงานทุก ๆ ครั้ง เช่น
- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    myString = @"This is my string";
    lblResult.text = myString;
    
}

เมื่อโหลดครั้งแรก จะมีการแสดงข้อความบน Label ของ lblResult


didReceiveMemoryWarning() เป็น method สำหรับควบคุฒประมาณ memory ที่ถูกใช้ เช่นเมื่อ memory ถูกใช้จนเกือบหมด method นี้จะถูกเรียกให้ทำงาน และเราสามารถใส่คำสั่งเช่น release ตัว object ต่าง ๆ เพื่อเคลียร์คืนค่า memory ได้
- (void)didReceiveMemoryWarning {
    /* This is the view controller's method */
    [super didReceiveMemoryWarning];
    if (![self isViewLoaded]) {
	/* release your custom data which will be rebuilt in loadView or viewDidLoad */
	myString = nil;
	[myString release];
	[lblResult release];
    }
}


dealloc() method นี้ปกติจะใช้สำหรับ release ตัว object หรือตัวแปรต่าง ๆ ที่ไม่ได้ใช้งานแล้ว เพื่อคืนค่า memory resource กลับไป
- (void)dealloc {
    [lblResult release];
    [super dealloc];
}

ใน method ของ dealloc เราจะเห็นบางครั้งจะมีการใส่ค่าต่าง ๆ ให้อัตโนมัติเมื่อเราทำการเชื่อม IBOutlet และ IBAction








Example ตัวอย่างการใช้ viewDidLoad , didReceiveMemoryWarning , dealloc แบบง่าย ๆ

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

เริ่มต้นด้วยการสร้าง Project บน Xcode แบบง่าย ๆ ด้วย Single View Application

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

เลือกและไม่เลือกรายการดังรูป

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

ตอนนี้หน้าจอ View ยังว่าง ๆ

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

เมื่อเรามาดูที่ Class ของ .m จะเห็นว่า method ของ viewDidLoad , didReceiveMemoryWarning ได้ถูกสร้างเตรียมไว้เรียบร้อย

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

เรามาทดสอบสร้าง IBOutlet ให้กับ Label

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

ใน Class ของ ,n มีการสร้าง dealloc และมีการปล่อย lblResult ซึ่งได้จากการสร้าง ]IBOutlet[/b]

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

ทดสอบการใส่ค่าต่าง ๆ ลงไปใน method ของ viewDidLoad , didReceiveMemoryWarning และ dealloc








Code ทั้งหมดของ .h และ .m ในภาษา Objective-C

ViewController.h
//
//  ViewController.h
//  myAppTest
//
//  Created by Weerachai on 11/18/55 BE.
//  Copyright (c) 2555 Weerachai. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
    IBOutlet UILabel *lblResult;
}

@end


ViewController.m
//
//  ViewController.m
//  myAppTest
//
//  Created by Weerachai on 11/18/55 BE.
//  Copyright (c) 2555 Weerachai. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
{
    NSString *myString;
}

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    
    myString = @"This is my string";
    lblResult.text = myString;
    
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    
    myString = nil;
    [myString release];
}

- (void)dealloc {
    [lblResult release];
    [super dealloc];
}

@end


Screenshot

iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc

Screenshot ได้ที่


.

   
Share


ช่วยกันสนับสนุนรักษาเว็บไซต์ความรู้แห่งนี้ไว้ด้วยการสนับสนุน Source Code 2.0 ของทีมงานไทยครีเอท


ลองใช้ค้นหาข้อมูล


   


Bookmark.   
       
  By : ThaiCreate.Com Team (บทความเป็นลิขสิทธิ์ของเว็บไทยครีเอทห้ามนำเผยแพร่ ณ เว็บไซต์อื่น ๆ)
  Score Rating :  
  Create/Update Date : 2012-11-20 10:04:19 / 2017-03-25 22:59:50
  Download : Download  iOS/iPhone viewDidLoad , didReceiveMemoryWarning , dealloc  (Objective-C , iPhone)
 Sponsored Links / Related

 
โครงสร้างของ Xcode IDE และ ไฟล์ที่ได้จากการ Create Project บน Xcode (iOS, iPhone, iPad)
Rating :

 
การใช้งาน iOS Simulator เบื้องต้น ก่อนการเขียนโปรแกรม iOS สำหรับ iPhone และ iPad
Rating :

 
เพิ่ม Keyboard (Thai Keyboard) ภาษาไทยบน iOS Simulator สำหรับ iPhone และ iPad
Rating :

 
Objective-C กับการสร้าง Event และ Action (IBAction) โต้ตอบ บน iOS (iPhone,iPad)
Rating :

 
Objective-C และ Outlet (IBOutlet) Action(IBAction) แบบง่าย ๆ ผ่าน Xcode (iPhone,iPad)
Rating :

 
รู้จัก NSLog กับ Objective-C บน iOS (for iPhone and iPad Dev)
Rating :

 
ฟรี!! อบรม iPhone, เขียน iPhone, เรียน iPhone, สอน iPhone App แหล่งความรู้แบบฟรี ๆ
Rating :


ThaiCreate.Com Forum


Comunity Forum Free Web Script
Jobs Freelance Free Uploads
Free Web Hosting Free Tools

สอน PHP ผ่าน Youtube ฟรี
สอน Android การเขียนโปรแกรม Android
สอน Windows Phone การเขียนโปรแกรม Windows Phone 7 และ 8
สอน iOS การเขียนโปรแกรม iPhone, iPad
สอน Java การเขียนโปรแกรม ภาษา Java
สอน Java GUI การเขียนโปรแกรม ภาษา Java GUI
สอน JSP การเขียนโปรแกรม ภาษา Java
สอน jQuery การเขียนโปรแกรม ภาษา jQuery
สอน .Net การเขียนโปรแกรม ภาษา .Net
Free Tutorial
สอน Google Maps Api
สอน Windows Service
สอน Entity Framework
สอน Android
สอน Java เขียน Java
Java GUI Swing
สอน JSP (Web App)
iOS (iPhone,iPad)
Windows Phone
Windows Azure
Windows Store
Laravel Framework
Yii PHP Framework
สอน jQuery
สอน jQuery กับ Ajax
สอน PHP OOP (Vdo)
Ajax Tutorials
SQL Tutorials
สอน SQL (Part 2)
JavaScript Tutorial
Javascript Tips
VBScript Tutorial
VBScript Validation
Microsoft Access
MySQL Tutorials
-- Stored Procedure
MariaDB Database
SQL Server Tutorial
SQL Server 2005
SQL Server 2008
SQL Server 2012
-- Stored Procedure
Oracle Database
-- Stored Procedure
SVN (Subversion)
แนวทางการทำ SEO
ปรับแต่งเว็บให้โหลดเร็ว


Hit Link
   







Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่