顯示具有 objC 標籤的文章。 顯示所有文章
顯示具有 objC 標籤的文章。 顯示所有文章

2013年10月2日 星期三

【職訓局-手機程式開發班】2013 10/02 ObjC

1.IOS Alert 與 連結網址












連網址與法:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://7311.tw"]];


2.potocol 與 categories













訊息快速寫法:

[[[UIAlertView alloc] initWithTitle:@"標題" message:@"你中大樂透" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];

3.不使用繼承有繼承效果 cmposite合成


















4.preprocessor前置處理

2013年9月18日 星期三

【職訓局-手機程式開發班】2013 9/18 ObjC

1.函數前面為加號為靜態可直接使用不須init

例:

+ (float) PI{
    float pi = 3.14;
    return pi;
}

NSLog(@"%f",[Test PI]); // 這邊就可直接使用

2.全域變數使用

#import "Test.h"

int gTest = 5; // 宣告時前面要加個小g代表是全域變數

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        Test *T = [[Test alloc] init];
        
        NSLog(@"%f",[Test PI]);
        
        NSLog(@"%i",[T TestG:10]); // 列印出10
        
        
    }
    return 0;
}

Test.m
- (int) TestG:(int)val{
    extern int gTest;
    gTest = val;
    return gTest;
}

3.物件初始化

test.m

- (id) initR:(float)setR{
    self = [super init];
    if (self){
        self.r = setR;
    }
    return self;
}

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        //Test *T = [[Test alloc] init];
        
        Test *T = [[Test alloc] initR:20]; // 可以多個初始化
        
        //T.r = 10;
        
        NSLog(@"%f",[T area]);
        
        
    }
    return 0;
}

4.靜態變數static

static int count = 0;
- (int) getCount{
    return count;
}

main.m
NSLog(@"%i",[T getCount]); // return 1
NSLog(@"%i",[T getCount]); // return 2

2013年7月31日 星期三

【職訓局-手機程式開發班】2013 7/31 ObjC

第一個程式

#import 

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        int i=87, j=15;
        NSLog(@"\n%i / %i = %i",i,j,i-j);
        
    }
    return 0;
}

class

原來程式:
int Numerator=1,Denominator=3;
NSLog(@"The value of myFraction %i/%i = %f",Numerator,Denominator,(float)Numerator/Denominator);

改寫class:

1.新增class