Objective-C 字串、陣列、字典及型別判斷
阿新 • • 發佈:2019-01-24
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