1. 程式人生 > >Objective-C 字串、陣列、字典及型別判斷

Objective-C 字串、陣列、字典及型別判斷

1、字串

NSLog *str = @"Hello IOS";

@符號:表示強制型別轉換,不加@表示C語言型別的字串,加@表示NSString型別資料。

%@:NSString型別的字串

2、陣列
建立陣列的3中方式:
(1)通過@符號建立:

NSArray *arr = @[@"Hello",@"Feige"];
for (int i = 0; i < [arr count]; i++)
{
    NSLog(@"%@",[arr objectAtIndex:i]);
}

(2)通過工廠方法建立:

NSArray  *arr = [NSArray arrayWithObjects:@"Hello"
,@"Feige",nil];

注意:使用 arrayWithObjects 必須在最後加一個 nil ,不然會失敗。

(3)通過plist檔案建立:

NSArray *arr = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"]];

3、可變陣列

NSMutableArray *arr = [[NSMutableArray alloc] init];
    for (int i = 0; i<100; i++) {
        [arr addObject:[NSString stringWithFormat:@"Item #d",i]]
; } NSLog(@"%@",arr);

4、字典
字典建立的2種方式:
(1)

NSDictionary *dict = @{@"name": @"ZhangSan",@"sex":@"male"};
NSLog(@"%@",dict);

(2)

NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"]];
NSLog(@"%@",[dict objectForKey:@"age"
]);

5、可變字典

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"jikexueyuan" forKey:@"name"];
NSLog(@"%@",[dict objectForKey:@"name"]);

6、型別判斷

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

@interface A : NSObject
@end

@implementation A
@end

@interface AA : A
@end

@implementation AA
@end

@interface B : NSObject
@end

@implementation B
@end

int main(int argc, char * argv[])
{
    A * a = [[A alloc] init];
    NSLog(@"%d",[a isKindOfClass:[B class]]);

//    @autoreleasepool {
//        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
//    }
}

如果是該型別,則返回1,否則返回0

7、其他零碎知識點

(1)Xcode中的 images.xcassets 資料夾中不能有gif檔案。

(2)@property int age;
寫一個@property就會自動生成一個set和get方法。
工廠方法:快速建立類的例項的方法,例如stringWithContentsOfURL