标签 objective 下的文章

2015-12-04// OC_9 类的扩展

//
// main.m
// OC_9 类的扩展
//
// Created by YIem on 15/12/4.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Gril.h"

import "NSString+SayHi.h"

import "Man.h"

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

@autoreleasepool {
    
   // 创建对象
    Gril *bg = [ Gril grilWithYanzhi:@"漂亮" tui:@"大长腿"];
    // 类中方法
    [bg zipai];
    // 类目方法
    [bg findBoyFriend];
    
    // 创建字符串
    NSString *str = @"随便";
    //调用字符串类目方法
    [str sayHi];
    
    
    /**
     * 类目的作用 扩展
     * 1.给系统的类(没有源代码的类/没有.m文件的类)添加新的方法
     * 2.任何一个类都可以添加类目
     * 3.使用类目名 划分方法种类
     */
/*-----------------<<<<<.0.>>>>>-------------*/
    /**
     * 类目的特点
     * 1.有一对.h和.m文件
     * 2.可以写在类的后面 或者 新建文件(类名 + 类目名)
     * 3.类目中的方法相当于添加在原类中 可以使用任意的成员变量和方法
     * 4.类目在不能添加成员变量 只能添加方法
     * 5.类目在的方法优先级更高 如果和原类方法重名 回覆盖原方法(尽量避免重名)
     **/
    







- 阅读剩余部分 -

2015-12-02 objective-c OC_7遍历

//
// main.m
// OC_7遍历
//
// Created by YIem on 15/12/2.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Model.h"

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

if 0

NSString *areaText = [NSString stringWithContentsOfFile:@"/Users/dllo/Desktop/吴泽萱/OC/OC_7遍历/OC_7遍历/area.txt" encoding:NSUTF8StringEncoding error:nil];

NSArray *arr = [areaText componentsSeparatedByString:@"\n"];

NSMutableArray *pArr =[NSMutableArray array];
for (NSString *temp in arr) {
    if (![temp hasPrefix:@"  "]) {
        NSMutableDictionary *pDic = [NSMutableDictionary dictionary];
        [pDic setObject:temp forKey:@"pName"];
        [pDic setObject:[NSMutableArray array] forKey:@"cities"];
        [pArr addObject:pDic];
    }
    if ([temp hasPrefix:@"  "] && ![temp hasPrefix:@"    "]) {
        NSMutableDictionary *cDic = [NSMutableDictionary dictionary];
        [cDic setObject:temp forKey:@"cName"];
        [cDic setObject:[NSMutableArray array] forKey:@"zones"];
        NSMutableDictionary *pDic = pArr.lastObject;
        NSMutableArray *cArr = [pDic objectForKey:@"cities"];
        [cArr addObject:@"cDic"];
        
        
    }
}
NSLog(@"%@", pArr);

endif







- 阅读剩余部分 -

2015-12-01 OC6_省市区 objective-c

//
// main.m
// OC6_省市区
//
// Created by YIem on 15/12/1.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Model.h"

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

if 0

// 获取文件

NSString *areaText = [NSString stringWithContentsOfFile:@"/Users/dllo/Desktop/吴泽萱/OC作业/OC6_省市区/OC6_省市区/area.txt" encoding:NSUTF8StringEncoding error:nil];

// 切分
NSArray *arr = [areaText componentsSeparatedByString:@"\n"];

// 创建省数组
NSMutableArray *pArr = [NSMutableArray array];
// 遍历数据源数组 区分省市区
for (NSString *temp in arr) {
    //省
    if (![temp hasPrefix:@" "]) {
        //创建省字典
        NSMutableDictionary *pDic = [NSMutableDictionary dictionary];
        // 添加省名
        [pDic setObject:temp forKey:@"pName"];
        // 添加市数组
        [pDic setObject:[NSMutableArray array] forKey:@"cities"];
         // 省字典添加到省数组
         [pArr addObject:pDic];
    }
         // 市 -> 有两个空格 并且没有四个空格
    if ([temp hasPrefix:@"  "] && ![temp hasPrefix:@"    "]) {
        // 创建市字典
        NSMutableDictionary *cDic = [NSMutableDictionary dictionary];
        // 添加市名
        [cDic setObject:temp forKey:@"cName"];
        // 添加区数组
        [cDic setObject:[NSMutableArray array] forKey:@"zones"];
        // 获取当前省
        NSMutableDictionary *pDic = pArr.lastObject;
        // 获取市数组
        NSMutableArray *cArr = [pDic objectForKey:@"cities"];
        // 添加市字典
        [cArr addObject:@"cDIC"];
     // 区 -> 有四个空格
        if ([temp hasPrefix:@"    "]) {
            // 当前省字典->市数组->当前市字典->区数组->添加区数组字符串
            
            // 当前省字典
            NSMutableDictionary *pDic = pArr.lastObject;
            //市数组
            NSMutableArray *cArr = [pDic objectForKey:@"cities"];
            // 当前市字典
            NSMutableDictionary *cDic = cArr.lastObject ;
            // 区数组
            NSMutableArray *zArr = [cDic objectForKey:@"zones"];
            // 添加
            [zArr addObject:temp];
        }
    
    
    }
    NSLog(@"%@", temp);
    






- 阅读剩余部分 -

2015-12-01 objective-c OC6_练习

//
// main.m
// OC6_练习
//
// Created by YIem. on 12/1/15.
// Copyright (c) 2015 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Book.h"

import "Libaray.h"

import "Contact.h"

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

if 0

/* 实现图书管理系统:
 1、使⽤数组管理所有书籍。
 2、数组可以添加、删除。
 3、可以从数组根据书名查找书籍,并修改书籍的价格。
 4、展⽰所有书籍清单(书名)。*/

// 创建对象
Book *b1 = [Book bookWithBookName:@"Objective-C" price:10];
Book *b2 = [Book bookWithBookName:@"C Programming Language" price:20];
Book *b3 = [Book bookWithBookName:@"C Primer Plus" price:15];
// 创建可变数组

// NSMutableArray *bookArr = [@[b1, b2, b3] mutableCopy];

NSMutableArray *bookArr = [NSMutableArray array];
// 添加书本
[bookArr addObject:b1];
[bookArr addObject:b2];
[bookArr addObject:b3];
// 删除

// [bookArr removeLastObject];

// 查找书名 -> 修改价格
// 1.遍历数组
for (Book *b in bookArr) {
    // 2.判断书名
    if ([b.bookName isEqualToString:@"Objective-C"]) {
        // 3.改变价格
        b.price = 100;
    }
}
NSLog(@"%@", bookArr);
// 清单
for (Book *b in bookArr) {
    NSLog(@"%@", b.bookName);
}

endif







- 阅读剩余部分 -

2015-11-30 objective-c OC5_NSNumber_NSValue

//
// main.m
// OC5_NSNumber_NSValue
//
// Created by YIem. on 11/30/15.
// Copyright (c) 2015 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

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


// 将非对象<->对象
// 目的: 非对象用于计算 对象用于保存和显示
// NSNumber 数对象
// int -> number
NSNumber *intNum = [NSNumber numberWithInt:100];
NSLog(@"num: %@", intNum);
// number -> int
int a = intNum.intValue;
NSLog(@"int: %d", a);
// 字面量
NSNumber *floatNum = @3.14;
NSLog(@"num: %@", floatNum);
// number -> string
NSString *str = floatNum.stringValue;
NSLog(@"str: %@", str);
// char -> number
NSNumber *charNum = @'a';
NSLog(@"%@", charNum);
// number -> char
NSLog(@"%c", charNum.charValue);
// NSValue 值对象
// range ->value
NSValue *value = [NSValue valueWithRange:NSMakeRange(3, 3)];
NSLog(@"value: %@", value);
// value -> range
NSLog(@"loc: %lu, len: %lu", value.rangeValue.location, value.rangeValue.length);


return 0;

}







- 阅读剩余部分 -

2015-11-30 objective-c--OC5_数组_字典

//
// main.m
// OC5_数组_字典
//
// Created by YIem. on 11/30/15.
// Copyright (c) 2015 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

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

if 0

// 补充
// string -> array
NSString *str = @"http://www.iOS.com/lanou/sanlou/classroom8/DLS151129";
// 切分
NSArray *arr = [str componentsSeparatedByString:@"/"];
NSLog(@"arr: %@", arr);
// 获取数组元素
NSLog(@"%@ %@", [arr objectAtIndex:2], arr[4]);
// 获取第一个元素 firstObject
NSLog(@"first: %@", arr.firstObject);
// 获取最后一个元素 lasObject
NSLog(@"last: %@", arr.lastObject);
// array -> string
// 数组拼接成字符串
NSString *newStr = [arr componentsJoinedByString:@"/"];
NSLog(@"str: %@", newStr);







- 阅读剩余部分 -

OC - 作业字符串拼接,替换,升序,降序等等

//
// main.m
// OC2015-11-27作业
//
// Created by YIem on 15/11/27.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

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

//1.

/*
 1.使用拼接append添加字符串@"写一个字符串"
 2.使用替换replace将@"随便"替换为@"特意"
 3.添加字符串@".avi"
 4.判断是否以@"avi"结尾 如果是获取@"avi"后缀 添加到字符串开头 然后将@"avi"替换为@"rmvb"
 5.从字符串中获取子串@"rmvb" 和源字符串比较打印升序/降序
 */

if 0

NSString *str1 = @"随便";
NSLog(@"str1: %@", str1);
NSString *str2 = [str1 stringByAppendingString:@"写一个字符串"];
NSLog(@"str2: %@", str2);
NSString *str3 = [str2 stringByReplacingOccurrencesOfString:@"随便" withString:@"特意"];
NSLog(@"str3: %@", str3);
NSString *str4 = [str3 stringByAppendingString:@".avi"];
NSLog(@"str4: %@", str4);
if ([str4 hasSuffix:@"avi"]) {
    NSLog(@"str5: %@",[str4 stringByReplacingOccurrencesOfString:@"avi" withString:@"rmvb"] );
}
NSString *str5 = @"rmvb";
NSString *str6 = [str5 stringByAppendingString:str4];

NSLog(@"str6: %@", str6);
NSString *str7 = [str6 substringToIndex:3];
NSComparisonResult r = [str1 compare:str7];
if (r == NSOrderedAscending) {
    NSLog(@"升序");
} else if (r == NSOrderedDescending) {
    NSLog(@"降序");
} else if (r == NSOrderedSame) {
    NSLog(@"相同");
}

endif







- 阅读剩余部分 -

2015-11-27-objective-c- 数组

//
// main.m
// OC_4数组
//
// Created by YIem on 15/11/27.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

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

pragma mark - NSArray 不可变数组

// 数组中的重要概念
// 1. 索引/下标(有序集合)
// 2. 遍历(for循环)

// 创建
//数组中只能包含对象 所有的非对象都不可以使用
NSArray *arr1 = [NSArray arrayWithObjects:@"qwer", @"123", @"中文", nil];
NSLog(@"arr1: %@", arr1);
// 子面量创建数组
NSArray *arr2 = @[@"qwer", @"123", @"中文"];
NSLog(@"arr2: %@", arr2);

// 访问数组元素
NSLog(@"%@", [arr2 objectAtIndex:1]);// 数组
// 子面量访问
NSLog(@"%@", arr2[1]);
// 包含
if ([arr2 containsObject:@"123"]) {
    NSLog(@"包含");
}
// 元素个数 count
NSLog(@"%lu", arr2.count); // 数组个数
// 元素获取下标
NSLog(@"%lu", [arr2 indexOfObject:@"123"]);// 数组下标
// 数组遍历
for (NSInteger i = 0; i < arr2.count; i++) {
    NSLog(@"%@", arr2[i]);// 打印字符串时为中文
}
// 快速枚举器
// type *     数组中元素类型
// object     临时变量名
// collection 数组名
for (NSString *temp in arr2) {// 不确定时填id 后面不加*
    NSLog(@"%@", temp);
}



return 0;

}

2015-11-27 objective-c - NSString

//
// main.m
// OC_4NSString
//
// Created by YIem on 15/11/27.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

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

// SDK 软件开发工具包
// Software Developmebt Kit
// API 应用编程接口
// Application Programming Interface



// 学习新类的方式
// 1. 看SDK头文件 在Xcode中进入对应的.h头文件查看
// 2.1.看SDK帮助文档 搜索信息
// 2.2. 通过Dash查看API帮助文档

// 学习新类的步骤
// 1.看继承关系
// 2.看初始化

if 0

// 不可变字符串 NSString

pragma mark - 字符串创建

NSString * str1 = [[NSString alloc] initWithString:@"字符串"];

NSString *str2 = [NSString stringWithString:@"这还是一个字符串"];
// 创建字符串
// 字面量 简化消息语法的创建过程
NSString *str3 = @"最终版";
NSLog(@"%@ %@ %@", str1, str2, str3);
// 转化字符串 CString->OCtring
NSString *str4 = [NSString stringWithUTF8String:"C语言字符串"];
NSLog(@"str4: %@", str4);
// 转化字符串 OC->C  // 中文无法转化
NSLog(@"CString: %s",str4.UTF8String);
/* 万能转换公式 */
// 作用1.: 可以将任意有占位符的数据转化为字符串对象
// int -> string
NSString *str5 = [NSString stringWithFormat:@"%d", 100];
NSLog(@"str5: %@", str5);
// string -> int/long/NSInteger
NSLog(@"int: %d", str5.intValue);
// 作用2.: 混合拼接
NSString *str6 = [NSString stringWithFormat:@"%@ 拼接字符串 %ld", str5, str5.integerValue];
NSLog(@"str6:%@", str6);

endif







- 阅读剩余部分 -

2015-11-26-objective-c--// OC_3属性

//
// main.m
// OC_3属性
//
// Created by YIem on 15/11/26.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Student.h"

import "Fractron.h"

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

if 0

// 创建学生对象

Student *dawa = [[Student alloc] init];
// 赋值
// 消息语法
[dawa setName:@"12"];
[dawa setNumber:1];
[dawa setNickName:@"大娃"];
// 取值
NSLog(@"%@ %ld %@", [dawa name], [dawa number], [dawa nickName]);

// 新对象

Student *sanye = [[Student alloc] init];
// 点语法 能够方便访问和使用属性
// 赋值
sanye.name = @"13";
sanye.number = 2;
sanye.nickName = @"三爷";
// 取值
NSLog(@"%@ %ld %@", sanye.name, sanye.number, sanye.nickName);

endif







- 阅读剩余部分 -

2015-11-24-objective-c-----OC_NO.作业

//
// main.m
// OC_NO.1
//
// Created by YIem on 15/11/24.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Car_1.h"

import "Phone_2.h"

import "Cup_3.h"

import "computer_4.h"

import "air conditioning_5.h"

import "computer keyboard_6.h"

import "mouse_7.h"

import "LCD_8.h"

import "USB_9.h"

import "monitor unit_10.h"

import "Class_2_1.h"

import "Teacher_2_2.h"

import "Student_2_3.h"

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

定义10个类: 1、声明:实例变量、方法。实现:初始化方法、自定义方法、自我
介绍方法。(方法实现时,以NSLog输出即可)
2、在main.m中分别创建10个类的对象。 3、给对象的实例变量进行赋值、取值操作,执行方法。

*/

if 0

Car_1 *a = [[Car_1 alloc] init];
[a setAndGet1];
Phone_2 *b = [[Phone_2 alloc] init];
[b steAndGet2];
Cup_3 *c = [[Cup_3 alloc] init];
[c setAndGet3];
computer_4 *d = [[computer_4 alloc] init];
[d setAndGet4];
air_conditioning_5 *e = [[air_conditioning_5 alloc] init];
[e setandget_5];
computer_keyboard_6 *f = [[computer_keyboard_6 alloc] init];
[f setandget6];
mouse_7 *g = [[mouse_7 alloc] init];
[g setandget7];
LCD_8 *h = [[LCD_8 alloc] init];
[h setandget8];
USB_9 *i = [[USB_9 alloc] init];
[i setandget9];
monitor_unit_10 *j = [[monitor_unit_10 alloc] init];
[j setandget10];

endif

/*
完成蓝鸥班级开班仪式流程:
1.早9:00开班仪式开始。(NSLog(@“开班仪式正式开始”))
2.Marry老师做自我介绍。
3.三名学生做自我介绍。
要求 :
1.定义一个班级类。
实例变量:所属培训机构名称,班级名,班级人数,授课老师名字,开班日期。
方法:设置学校名字:蓝鸥、集体活动,开班仪式。
2.定义一个老师类。
实例变量:名字、性别、年龄、正在教的课程、正在授课班级。
方法: 讲课、布置作业、验收作业、解决问题、自我介绍。
3.定义一个学生类。
实例变量:名字、性别、年龄、学号、班级名、任课老师、正在学习的课程。
方法:学习、做作业、提出问题、回答问题、自我介绍
注:方法以NSLog输出为主。
*/







- 阅读剩余部分 -

2015-11-15 - objective-c---OC_2初始化_便利构造器

//
// main.m
// OC_2初始化_便利构造器
//
// Created by YIem on 15/11/25.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Zombie.h"

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


// 创建对象
Zombie *z = [[Zombie alloc] init];
NSLog(@"%@ %@ %@", [z hp], [z defense], [z attack]);
Zombie *z1 = [[Zombie alloc] init];
NSLog(@"%@ %@ %@", [z1 hp], [z1 defense], [z1 attack]);
// 自定义初始化方法
Zombie *z2 = [[Zombie alloc] initWithHp:@"12" defense:@"21" attack:@"23"];
NSLog(@"%@ %@ %@", z2.hp, z2.defense, z2.attack);

// 便利构造器创建

Zombie *z3 = [Zombie zombie];
Zombie *z4 = [Zombie zombieWithHp:@"111"  defense:@"222"  attack:@"333"];





return 0;

}







- 阅读剩余部分 -

2015-11-24-OC_类和对象

//
// main.m
// OC_类和对象
//
// Created by YIem on 15/11/24.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

import "Person.h"

import "Car.h"

import "Phone.h"

import "HaoChiDe.h"

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







- 阅读剩余部分 -