Objective-C语言简单类别
示例NSArray上一个名为Filter的简单类别的接口和实现,具有用于过滤数字的单个方法。优良作法是在方法中添加前缀(PF),以确保我们不会覆盖任何将来的NSArray方法。@interface NSArray (PFFilter)- (NSArray *)pf_filterSmaller:(double)number;@end@implementation NSArray (PFFilter)- (NSArray *)pf_filterSmaller:(double)number{ ...
2024-01-10Objective-C语言日期比较
示例NSDate在Objective-C中有4种比较s的方法:- (BOOL)isEqualToDate:(NSDate *)anotherDate- (NSDate *)earlierDate:(NSDate *)anotherDate- (NSDate *)laterDate:(NSDate *)anotherDate- (NSComparisonResult)compare:(NSDate *)anotherDate考虑以下使用2个日期NSDate date1 = July 7, 2016和的示例NS...
2024-01-10Objective-C语言排序数组
示例NSMutableArray *myColors = [NSMutableArray arrayWithObjects: @"red", @"green", @"blue", @"yellow", nil];NSArray *sortedArray;sortedArray = [myColors sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; ...
2024-01-10Objective-C语言枚举使用块
示例NSArray *myColors = @[@"Red", @"Green", @"Blue", @"Yellow"];[myColors enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"enumerating object %@ at index %lu", obj, idx);}];通过将stop参数设置为YES,可以指示不需要进一步的枚举。只需设置即可&stop = YES。NSEnumer...
2024-01-10Objective-C语言线程本地存储
示例每个线程都可以访问当前线程本地的可变字典。这允许以简单的方式缓存信息而无需锁定,因为每个线程都有自己的专用可变字典:NSMutableDictionary *localStorage = [NSThread currentThread].threadDictionary;localStorage[someKey] = someValue;当线程终止时,字典将自动释放。...
2024-01-10Objective-C语言直接调用方法
示例如果需要从C代码调用Objective-C方法,则有两种方法:使用objc_msgSend或获取IMP(方法实现函数指针)并进行调用。#import <objc/objc.h>@implementation Example- (double)negate:(double)value { return -value;}- (double)invert:(double)value { return 1 / value;}@end//调用对象上的选择器。期望该方法具有一个do...
2024-01-10Objective-C语言使用C字符串
示例转换NSString为const char使用-[NSString UTF8String]:NSString *myNSString = @"Some string";const char *cString = [myNSString UTF8String];-[NSString cStringUsingEncoding:]如果您的字符串使用非UTF-8编码,则也可以使用。对于反向路径,请使用-[NSString stringWithUTF8String:]:const *char cString = ...
2024-01-10Objective-C中的JSON解析
我已经完成了有关iOS中JSON的Raywenderlich教程,但是我很难将其调整为适合自己的JSON文件。这是 :{ "Albumvideo":[ { "titre": "Publicité", "photo":"blabla.jpg" }, { "titre": "Events", "photo":"blabla.jpg" } ]}这是 :- (void) viewDidLoad{ [super v...
2024-01-10Objective-C语言什么是属性?
示例这是一个示例类,它具有几个实例变量,而不使用属性:@interface TestClass : NSObject { NSString *_someString; int _someInt;}-(NSString *)someString;-(void)setSomeString:(NSString *)newString;-(int)someInt;-(void)setSomeInt:(NSString *)newInt;@end@implementation TestClass-(NSS...
2024-01-10Objective-C语言创建基本方法
示例这是如何创建将“ Hello World”记录到控制台的基本方法:- (void)hello { NSLog(@"Hello World");}的-开头表示该方法作为一个实例方法。该(void)表示的返回类型。此方法不返回任何内容,因此您输入void。“ hello”是方法的名称。{}调用方法时,代码中的所有内容都会运行。...
2024-01-10Objective-C改变图像颜色性能
我目前使用下面的函数来改变PNG图像的颜色,通过颜色滑块设置颜色,所以当滑动颜色时,一切正常,并得到相应的结果图像相应地,我是滑动时滑块的性能只会有问题,它会滞后以及图像颜色更新,需要帮助才能使过程平滑。Objective-C改变图像颜色性能- (UIImage*)imageWithImage:(UIImage *)sourceImage fixedHue:(CGF...
2024-01-10Objective-C语言范围内的随机整数
示例以下代码演示生成3到12之间的随机整数的用法:arc4random_uniform()uint32_t randomIntegerWithinRange = arc4random_uniform(10) + 3; // 3到12之间的随机整数因为arc4random_uniform(10)返回0到9之间的整数,所以可以创建一个范围。将3添加到此随机整数会产生0 + 3和之间的范围9 + 3。...
2024-01-10Objective-C语言的强引用和弱引用
示例弱引用看起来像其中之一:@property (weak) NSString *property;NSString *__weak variable;如果您对某个对象的引用较弱,请在后台进行以下操作:您没有保留它。释放后,对其的所有引用将自动设置为 nil默认情况下,对象引用始终是强引用。但是您可以明确指定它们的强度:@property (strong) NSString *property;...
2024-01-10Objective-C语言创建更复杂的线程
示例使用的子类NSThread可以实现更复杂的线程(例如,允许传递更多的参数或将所有相关的辅助方法封装在一个类中)。此外,该NSThread实例可以保存在属性或变量中,并可以查询其当前状态(是否仍在运行)。本NSThread类支持的方法称为cancel可以从任何线程,那么将被称为cancelled属性YES的线程安全的方...
2024-01-10Objective-C等价于java字节[]
在Java中,我会将字节传递为byte [],它也知道它是自己的长度。 在Objective C中是否有等价的数组?Objective-C等价于java字节[]我不确定,但NSArray看起来太重了,因为它可以容纳任何类型。回答:我认为最接近的是NSMutableData及其mutableBytes属性。这会给你一个附加长度计数的C风格数组。唯一的一点复杂性...
2024-01-10Objective-C语言创建一个简单的线程
示例创建线程的最简单方法是“在后台”调用选择器。这意味着将创建一个新线程来执行选择器。接收对象可以是任何对象,不仅是对象,self还需要响应给定的选择器。- (void)createThread { [self performSelectorInBackground:@selector(threadMainWithOptionalArgument:) withObject:...
2024-01-10从C++文件调用Objective-C的方法
我从UnityBridge.mm文件调用BLEObject.m中的方法。从C++文件调用Objective-C的方法BLEObject.m具有- (void) SendSetting:(NSData*)data forSelected:(NSString*)type with:(NSData*)clublength and:(NSData*)clubloft{ } UnityBridge.mm具有void bleplugin_sendSetting(unsigned char data, char* typ...
2024-01-10聊聊Swift与Objective-C混编机制
写在前面本文涉及面较广,篇幅较长,阅读完需要耗费一定的时间与精力,如果你带有较为明确的阅读目的,可以参考以下建议完成阅读:如果你对预编译的理论知识已经了解,可以直接从【原来它是这样的】的章节开始进行阅读,这会让你对预编译有一个更直观的了解。如果你对 Search Path 的工作...
2024-01-10从Swift转换为Objective-C的工具
我知道大多数问题都是关于从Objective-C转换为Swift的,但是我正在寻找一种可以将Swift代码转换为Objective-C的工具。搜索所有内容时,我发现目标是迅速发展。我需要一个将Swift代码转换为Objective-C代码的工具。有这样的事吗?回答:没有此类工具可将Swift代码转换为Objective-C。有一些原因。一个是因为Ob...
2024-01-10Objective-C中关于实例所占内存的大小详解
前言续上一篇文章的介绍,这篇文章就诞生可。建议先看Objective-C 中类的数据结构,因这两部分的内容是不能断的,建议先去看看。接下来的主题是 Objective-C 中实例所占内存的大小。以下都是以 64bit 上分析的。一、instance 所占内存的大小先定义这样的一个 Class:// 类的申明@interface SizeObject : NSObj...
2024-01-10Objective-c里各种布尔类型什么区别
boolean_t t;Boolean tt;BOOL ttt;bool tttt;这四种布尔类型有什么区别?我看很多框架里的方法都用 BOOL 为什么?回答:bool 是intBOOL 是charbool b1 当b1>0 就=YESBOOL b2 当b2=1 才=YES所以框架都用BOOLBoolean mac os上有历史意义的类型Boolean types and values Boolean Mac OS historic type, sizeof(Boole...
2024-01-10Objective-C中NSArray的基本用法示例
NSArray的排序+ (id)studentWithFirstName:(NSString *)firstName lastName:(NSString *)lastName{ Student *stu = [[Student alloc] init]; stu.firstName = firstName; stu.lastName = lastName; return stu; } + (id)studentWithFi...
2024-01-10Objective-C与Swift之间的互相调用和跳转
一、OC和Swift互相跳转首先在需要引入Swift的文件中导入头文件#import "工程名-Swift.h"OC跳转Swift页面:#import "ViewController.h"#import "OCAndSwift-Swift.h" // 引入头文件@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any addit...
2024-01-10Xcode Objective-C错误需要一些帮助:)
好吧,一直试图弄清楚这一点有一段时间我已经设法把它归结为这3个错误,我一直在寻找修复,但没有任何工作,任何人都可以帮助我有了这个?Xcode Objective-C错误需要一些帮助:)我试图编译的东西,这是它的一部分,这是我需要固定的所有工作,但我不知道该怎么办。此外,这不是我的代码,如果...
2024-01-10如何在Objective-C(iOS)中的图像上写文字?
我想以编程方式制作这样的图像:例我有上面的图像和文字。我应该在图像上写文字吗?我想使其成为一个完整的.png图像(图像+标签),并将其设置为按钮的背景。回答:在图像内绘制文本并返回结果图像:+(UIImage*) drawText:(NSString*) text inImage:(UIImage*) image atPoint:(CGPoint) point ...
2024-01-10