ios基礎 筆記整理 第一章 第一節

來源:互聯網
上載者:User

標籤:

一:NSString與NSInteger的互換

NSInteger轉化NSString類型:[NSString stringWithFormat: @"%d", NSInteger];NSString轉化 NSInteger類型:NSInteger = [NSString intValue];  *其它幾個同理   [NSString boolValue]、[NSString floatValue]、[NSString doubleValue]

 

二:Objective-c中集合裡面不能存放基礎類型,比如int string float等,只能把它們轉化成對象才可以存放,就是類NSNumber

a. NSNumber的用法如下把基本類型封裝成對象的便利建構函式-(id) initWithChar : (char) value;-(id) initWithInt : (int) value;-(id) initWithFloat : (float) value;-(id) initWithBool: (BOOL) value;把基礎資料型別 (Elementary Data Type)封裝成對象的便利構造器+(id) numberWithChar : (char) value;+(id) numberWithInt : (int) value;+(id) numberWithFloat : (float) value;+(id) numberWithBool : (BOOL) value;從NSNumber中擷取值-(char) charValue;    -(int) intValue;      -(float) floatValue;     (BOOL) boolValue;    (NSString *) stringValue; 

b、在集合類中是不可以儲存nil(空的),因為nil作為nil的結束符,那麼我們如何來儲存Null 物件呢?該NSNull出場啦,其功能是把null封裝成對象,

+(NSNull *) null;

 

三:NSDATA與NSString互轉

NSData,資料,當我們需要把一些資訊寫入到檔案裡或發送到網路上,我們需要把這些資料轉換下,變成純粹的0、1字元流

 NSString * str = @"hello, world!"; NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding]; //NSString轉換成NSData類型 NSLog(@"%s", data.bytes); NSString * newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@", newStr);

 

四:去除輸入框空格(NSString也適用)

去除兩端空格NSString *temp = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];去除兩端空格和斷行符號NSString *text = [temp stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]];

 

五:IBOutlet,IBAction說明

執行個體:

@property(weak,nonatomic) IBOutlet UITextField *textFile1;

@property(weak,nonatomic) IBOutlet UILabel *lable1; -(IBAction)save:(id)sender;

IBOutlet 輸出口是使用關鍵字IBOutlet聲明的執行個體變數。控制器標頭檔中的輸出口聲明應如下所示: 在執行個體變數聲明前添加了IBOutlet語句,這表示對象在Interface Builder中建立的。一旦將對象連結到一個出口, 就可以像訪問任何自己建立的對象一樣訪問它。就編譯器而言,IBOutlet並未執行任何操作。它的唯一作用是告訴Interface Builder,此執行個體變數將被串連到nib中的對象。你建立的任何需要串連到nib檔案中的對象 的執行個體變數都必須以IBOutlet關鍵字開頭。開啟Interface Builder時,它會在項目標頭檔中掃描此關鍵字,你可以根據這些(且只能根據這些)變數將代碼串連到nib。

IBOutlet關鍵字的定義如下所示:

#ifndef IBOutlet

#define IBOutlet

#endif

IBAction 操作是控制器類中的方法。它們也是通過特殊關鍵字IBAction聲明的,該關鍵字告訴Interface Builder,此方法是一個操作,且可以被某個控制項觸發。

 

六 指標類型
  • short 短型 ,修飾int、double 
  • long 長型,修飾int、double 
  • signed 有符號型,修飾int、char 
  • unsigned 無符號型,修飾int、char

對於類型修飾符需要做如下解釋

  1. 這些修飾符經常用來修飾int型,在修飾int類型時int可以省略; 
  2. short和long會改變int型的長度,不同編譯器項長度不相同,但是short長度不大於int,int長度不大於long; 
  3. signed、unsigned不改變類型長度,僅僅表示最高位是否為符號位,unsigned表示大於等於0的正數;

當然有時候我們必須清楚每個類型佔用的位元組,下表列出常用資料類型佔用的儲存空間

注意:char類型是最小的資料類型單位,在任何類型的編譯器下都是佔用1個位元組,char類型的變數賦值可以直接賦值等於某個字元也可以賦值為整數(對應的ASCII值);可以使用兩個long來修飾一個整形(就是經常使用的8位元組的整形long long),但是兩個long不能修飾double而且也不存在兩個short,否則編譯警告;一個浮點型常量如果後面加上f編譯器認為它是float類型,否則認為double類型,例如10.0是double類型,10.0f是float類型。

七:IBOutlet,IBAction說明

C語言中有34中運算子,同C#、Java等語言沒有太大的區別,這裡指列出一些注意事項

  1. 關係運算子為真就返回1,為假就返回0;在條件語言中非0即真(負數、正數均為真),只有0為假 ; 
  2. C語言可以不儲存關係運算子的值 ; 
  3. 逗號運算式最終的值是最後一個運算式的值;

針對上面幾點看以下例子

////  main.c//  C語言基礎////  Created by Kenshin Cui on 14-7-12.//  Copyright (c) 2014年 cmjstudio. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) {    int a=2>1,b=2<1,c=99,d=0;    int f=0,g=0,h=0,e=(f=3,g=4,h=5);        a>0;//沒有儲存運算結果        printf("%d,%d\n",a,b);//結果:1,0        if(c){//可以通過        printf("true.\n");    }    if(d){//無法通過        printf("false\n");    }        printf("%d\n",e);//結果:5    return 0;}
常用函數printf()函數

printf()函數用於向標準輸出裝置輸出資料,配合格式符可以完成強大的輸出功能,上面的例子中我們已經使用了這個函數。

通常我們的輸出不是固定內容而是包含某些變數,此時需要用到格式符,常用格式符如下

對于格式符的輸出寬度和浮點數的小數位我們可以進行精確的控制

////  main.c//  C語言基礎////  Created by Kenshin Cui on 14-7-12.//  Copyright (c) 2014年 cmjstudio. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) {    int a=16;    float b=79.3f;    printf("[a=%4d]\n",a);    printf("[a=%-4d]\n",a);    printf("[b=%10f]\n",b);    printf("[b=%.2f]\n",b);    printf("[b=%4.2f]\n",b);    return 0;}

運行結果如下

從運行結果我們不難發現格式符%前的正數可以設定前端補齊,負數設定後端對齊,如果資料的總長度超過設定的修飾長度,則按照實際長度顯示;小數點後的整數用於控制小數點後保留小數位的長度。

scanf()函數

scanf()函數用於從標準輸入裝置接收輸入資料

////  main.c//  C語言基礎////  Created by Kenshin Cui on 14-7-12.//  Copyright (c) 2014年 cmjstudio. All rights reserved.//#include <stdio.h>int main(int argc, const char * argv[]) {    int a,b,c;    scanf("%d,%d,%d",&a,&b,&c);//此時需要輸入:1,2,3 然後斷行符號    printf("a=%d,b=%d,c=%d\n",a,b,c);    return 0;}

 

ios基礎 筆記整理 第一章 第一節

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.