程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C說話統計字符個數代碼分享

C說話統計字符個數代碼分享

編輯:關於C++

C說話統計字符個數代碼分享。本站提示廣大學習愛好者:(C說話統計字符個數代碼分享)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話統計字符個數代碼分享正文


掌握器的創立
解釋:掌握器有三種創立方法,上面逐個停止解釋。

1、第一種創立方法(應用代碼直接創立)

1.創立一個空的IOS項目。

2.為項目添加一個掌握器類。

3.直接在署理辦法中創立一個掌握器。


#import "YYAppDelegate.h"
#import "YYViewController.h"

@implementation YYAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
   
    //創立掌握器
    YYViewController *controller=[[YYViewController alloc]init];
    //設置掌握器View的配景色彩
    controller.view.backgroundColor=[UIColor brownColor];
    //設置該掌握器為Window的根掌握器
    self.window.rootViewController=controller;
    [self.window makeKeyAndVisible];
    return YES;
}


4.掌握器的view添加到Window上顯示出來。

2、第二種創立方法(經由過程storyboard創立)

1.添加一個storyboard文件,定名為test,在界面上拖一個view controller掌握器。

2.設置這個掌握器和法式中的YYviewController類停止聯系關系,設置掌握器view的色彩以便辨別。

3.留意這類毛病寫法。


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
   
    YYViewController *controller=[[YYViewController alloc]init];
    self.window.rootViewController=controller;
   
    [self.window makeKeyAndVisible];
    return YES;
}


留意:僅僅如許是不可的,由於法式中並沒有加載storyboard,所以沒有可以或許創立出我們想要的掌握器。怎樣辦?明白的告知要加載的storyboard。

4.創立代碼:


#import "YYAppDelegate.h"
#import "YYViewController.h"

@implementation YYAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
//    YYViewController *controller=[[YYViewController alloc]init];
   
    //1.加載storyboard,(留意:這裡僅僅是加載稱號為test的storyboard,其實不會創立storyboard中的掌握器和控件)
    UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"test" bundle:nil];
   
    //2.上面這個辦法代表著創立storyboard中箭頭指向的掌握器(初始掌握器)
    YYViewController *controller=[storyboard instantiateInitialViewController];
   
    //參考
 //   UINib *nib=[UINib nibWithNibName:@"test" bundle:nil];
  //  [nib instantiateWithOwner:nil options:nil];
   
    //3.設置掌握器為Window的根掌握器
    self.window.rootViewController=controller;
   
    [self.window makeKeyAndVisible];
    return YES;
}


步調:

(1)加載storyboard

(2)創立掌握器

(3)把掌握器設置為Window的根掌握器

5.拓展

新的需求:假如在一個storyboard中又多個掌握器,若何指定創立哪一個特定的掌握器呢?

這裡有兩種辦法可以斟酌:

(1)更改初始掌握器,即把箭頭拖拽到想要創立的掌握器後面,在代碼中停止創立。

完成代碼:


#import "YYAppDelegate.h"
#import "YYViewController.h"

@implementation YYAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
//    YYViewController *controller=[[YYViewController alloc]init];
   
    //1.加載storyboard
    UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"test" bundle:nil];
   
    //2.創立指定的掌握器
    UIViewController *controller=[storyboard instantiateInitialViewController];
   
    //3.設置掌握器為Window的根掌握器
    self.window.rootViewController=controller;
   
    [self.window makeKeyAndVisible];
    return YES;
}


提醒:留意創立的指定掌握器的類型。

(2)經由過程設置獨一的標識符來創立指定的掌握器

完成代碼:


#import "YYAppDelegate.h"
#import "YYViewController.h"

@implementation YYAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
    //1.加載storyboard
    UIStoryboard *storyboard=[UIStoryboard storyboardWithName:@"test" bundle:nil];
   
    //2.創立指定的掌握器
   
    UIViewController *controller=[storyboard instantiateViewControllerWithIdentifier:@"one"];
    //3.設置掌握器為Window的根掌握器
    self.window.rootViewController=controller;
   
    [self.window makeKeyAndVisible];
    return YES;
}


3、第三種創立方法(應用xib)

1.新建一個xib文件,定名為two.xib。

2.創立進程和留意點

(1)創立代碼:


#import "YYAppDelegate.h"
#import "YYViewController.h"

@implementation YYAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
    //1.經由過程xib創立掌握器
    YYViewController *controller=[[YYViewController alloc]initWithNibName:@"two" bundle:nil];
    //2.設置這個掌握器為Window的根掌握器
    self.window.rootViewController=controller;
   
    [self.window makeKeyAndVisible];
    return YES;
}


(2)兩個毛病留意點

1)不克不及加載(was unable to load a nib named "two")

發生緣由:在xib文件中沒有停止任何操作。

處理辦法:往xib中拖一個view

2)加載了xib,然則沒有設置輸入口(loaded the "two" nib but the view outlet was not set.')

發生緣由:沒有把xib的view設置為YYviewController的view

處理辦法:設置File‘s Owner,可以懂得為設置這個文件歸誰一切,對File‘s Owner和view停止連線。連線是由於一個xib中能夠會有多個view,在storyboard中默許就曾經停止了連線。

4、模擬有storyboard的項目掌握器的創立

1.創立一個項目

2.在設置裝備擺設文件中,把主storyboard的稱號刪失落(找不到storyboard)。

3.代碼(storyboard做的工作就是上面的代碼所做的工作)


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  
    // Override point for customization after application launch.
    // 1.創立winodw
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    // 2.創立掌握器
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    NJViewController * vc = [storyboard instantiateInitialViewController];
    // 3.設置window的根掌握器
    self.window.rootViewController = vc;
    // 4.顯示window
    [self.window makeKeyAndVisible];
   
    return YES;
}


掌握器的View的創立
1、6種創立掌握器View的方法


#import "NJAppDelegate.h"
#import "NJViewController.h"
/*
 1.沒有同名xib情形下
 2.經由過程 storyboard 創立
 3.有指定xib情形下創立
 4.有同名xib情形
 5.有同名去失落controll的情形
 6.loadveiw
 */
@implementation NJAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 創立UIWindow
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
    /*
     // 1.第一種方法:沒有xib和storyboard
     // (假如沒有xib和storyboard, 會主動創立一個空白的view做為掌握器的veiw)
     NJViewController *vc = [[NJViewController alloc] init];
     */
   
    /*
     //2.經由過程 storyboard 創立
     // 假如經由過程storyboard創立, 會創立箭頭指向view做為掌握器的veiw
    
     // 假如重寫了掌握器的loadview辦法, 就不會創立storyboard中描寫的view作為掌握器的view, 而是創立一個空白的veiw做為掌握器的veiw
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:nil];
     NJViewController *vc = [storyboard instantiateInitialViewController];
     */
   
    /*
     // 3.有指定xib情形下創立
     // 假如經由過程xib, 會創立xib中描寫的veiw做為掌握器的veiw
     NJViewController *vc = [[NJViewController alloc] initWithNibName:@"One" bundle:nil];
     */
   
    /*
     //  4.有同名xib情形
     // 假如有同名的xib, 會主動找到同名xib中描寫的view做為掌握器的veiw
     NJViewController *vc = [[NJViewController alloc] init];
     */
   
    /*
     // 5.有同名去失落Controller的 xib情形
     // 假如有有同名去失落Controller的xib, 會主動找到該xib的view做為掌握器的view
     NJViewController *vc = [[NJViewController alloc] init];
     */
   
    // 6.重寫掌握器的loadveiw辦法
    // 假如重寫了掌握器的loadview辦法, 就不會去加載創立同名去失落controller的xib和同名的xib, 而是創立一個空白的veiw做為掌握器的veiw
    NJViewController *vc = [[NJViewController alloc] init];
   
    // 設置掌握器為window的根掌握器
    self.window.rootViewController = vc;
    // 顯示window
    [self.window makeKeyAndVisible];
   
    return YES;
}


六種方法:

1.沒有同名xib情形下
2.經由過程 storyboard 創立
3.有指定xib情形下創立
4.有同名xib情形
5.有同名去失落controll的情形
6.loadveiw

2、創立掌握器View的優先級

蘋果官方文檔表示圖:

3、掌握器View的延遲加載

解釋:

掌握器的view是延遲加載的:用到時再加載

可以用isViewLoaded辦法斷定一個UIViewController的view能否曾經被加載

掌握器的view加載終了就會挪用viewDidLoad辦法


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 1.創立UIWindow
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor = [UIColor whiteColor];
   
   
    // 2.創立掌握器
     NJViewController *vc = [[NJViewController alloc] init];
   
    // 實際上是兩步操作, 起首挪用loadview辦法, 創立掌握器的veiw,然後再設置掌握器的view的色彩為紫色, 也就是說後一次的色彩籠罩失落了前一次的色彩
    vc.view.backgroundColor = [UIColor purpleColor];
   
    // 3.設置掌握器為window的根掌握器
    self.window.rootViewController = vc;
   
    // 4.顯示window(在這一行才用到了掌握器的veiw)
    [self.window makeKeyAndVisible];
   
    return YES;
}


主掌握器文件中:


#import "NJViewController.h"

@interface NJViewController ()

@end

@implementation NJViewController

// 當掌握器須要顯示掌握器的view的時刻就會挪用loadView
// 可以在loadView辦法中創立view給掌握器
// 該辦法普通用於自界說掌握器的view
- (void)loadView
{
    // 甚麼時刻挪用loadveiw就代表甚麼時刻加載掌握器的veiw
    NSLog(@"loadView");
   
    self.view = [[UIView alloc] init];
    self.view.backgroundColor = [UIColor greenColor];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"viewDidLoad");
}
@end


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved