Category Archives: Mac/Ios

Objective C 中 Property的各种修饰词

我们在定义perperty的时候都要指定修饰词,比如

atomic, copy, strong, weak等等,那么这些都是做什么用的?下面就所有修饰词作一说明。

Objective C中所有的修饰词有6对,12个,为什么用“对“这个词呢,因为它们每2个都是相对的,

继续阅读

Posted in Mac/Ios | Leave a comment

iOS从后台线程(background thread)发送Notification到主线程(main thread)

我是iOS的菜鸟一枚,因此在开发的过程就是不断的尝试与摸索。我的问题是这样,我有个后台线程(这个线程是在一个静态库种创建),这个线程负责跟我们的服务器通信,由于负责通信的这个模块(代码)是要在3种平台共享 Windows, Android,Linux,iOS,因此就用c++写的。有人可能想为什么没用Java来写。因为iOS和Java交互起来没有跟C/C++来的那么自然舒畅。

继续阅读

Posted in Mac/Ios | Leave a comment

Mac OSX在终端打开当前路径的finder

Mac OSX在终端打开当前路径的finder

在命令行打开finder

使用 open命令

$ open

后面跟上路径,如果是打开当前路径则是

$ open .

点表示当前路径

还可以根其他路径

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章转载自:IT夜班车,否则按侵权处理.

继续阅读

Posted in Mac/Ios | Leave a comment

《IOS开发系列教程》RGB生成UIImage

《IOS开发系列教程》RGB生成UIImage

IOS要求的像素格式是

RGBA

而不是

RGB

因此如果如果拿到的数据格式是RGB,那么需要转换成RGBA,

RGB–>RGBA–>UIImage

再使用下面的语法显示图片:

UIImageViewer.image = UIImage

下面给出一个例子:

const size_t Height = 10;
const size_t Area = Width * Height;
const size_t ComponentsPerPixel = 4; // rgba

uint8_t pixelData[Area * ComponentsPerPixel];

// fill the pixels with a lovely opaque blue gradient:
for (size_t i=0; i < Area; ++i) {
    const size_t offset = i * ComponentsPerPixel;
    pixelData[offset] = i;
    pixelData[offset+1] = i;
    pixelData[offset+2] = i + i; // enhance blue
    pixelData[offset+3] = UINT8_MAX; // opaque
}

// create the bitmap context:
const size_t BitsPerComponent = 8;
const size_t BytesPerRow=((BitsPerComponent * Width) / 8) * ComponentsPerPixel;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef gtx = CGBitmapContextCreate(&pixelData[0], Width, Height, BitsPerComponent, BytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast);

// create the image:
CGImageRef toCGImage = CGBitmapContextCreateImage(gtx);
UIImage * uiimage = [[UIImage alloc] initWithCGImage:toCGImage];

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment

《IOS开发系列教程》模拟机上生成的文件保存位置

《IOS开发系列教程》模拟机上生成的文件保存位置

在开发的时候,有时需要生成一些临时文件,或者数据文件,运行完程序,我们需要查看这些文件的内容,那么这些文件到底被保存在什么地方呢?

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment

《IOS开发系列教程》Show vs Show Detail

《IOS开发系列教程》Show vs Show Detail

当你按下ctrl键,同时按住左键,拖动鼠标到另外控件,松手后,xcode会问你,你所创建的segue,希望是哪种?

show, show detail, present modally, popover presentation, custom

那么这些都是什么意思呢?下面详细介绍,

1. Show – Pushes the destination view controller onto the navigation stack, moving the source view controller out of the way (destination slides overtop from right to left), providing a back button to navigate back to the source – on all devices.

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment

《IOS开发系列教程》objective c学习之 objective c和c/c++的比较

IOS开发系列教程》objective c学习之 objective cc/c++的比较

因为本人学习c/c++已经有些年头了,因此打算通过比较来学习,这样学习起来会比较快,因为只需要理解和记住不同的地方。

objective c和c++都是c的扩展,c是纯面向过程的语言,而objective c和c++则是在c的基础之上加入了面向对象的概念,objective c是借鉴了smalltalk中面向的对象的语法。

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment

《IOS开发系列教程》Objective C学习之抽象类

《IOS开发系列教程》Objective C学习之抽象类

在c++中,我们通过在一个类中定义所有的函数为纯虚函数来实现接口的定义。但是在Objective C没有办法使用此法,首先因为Objective C不支持纯虚函数的定义。而在实际的开发中我们确实需要定义一个集合,这个集合包含一组函数,其子类必须实现,关键就是用什么技术来描述这个集合了,Objective C中有一个东西叫做协议,由关键字

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment

《IOS开发系列教程》Objective C学习之构造函数和析构函数

《IOS开发系列教程》Objective C学习之构造函数和析构函数

有类似的2个函数
Init —-> 构造函数?

dealloc ——> 析构函数

但是,init这个函数区别于c++的构造函数之处在于:

如果没有其他的构造函数,无参数的构造函数一定会被系统调用。而init这个函数则不会被强制调用。

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment

《IOS开发系列教程》自动布局

《IOS开发系列教程》自动布局

xcode的界面设计(interface builder)提供了基于元素约束(constraints)的自动布局系统,可以让开发人员设计的界面能够无需任何更改运行在各个尺寸的iOS设备上,比如iphone 4, iphone5,iphon6,亦或者是ipad。

屏幕尺寸:

iphone 4: 3.5 英寸

继续阅读

Posted in Mac/Ios | Tagged | Leave a comment