在Objective-C中使用特定类型创建枚举的正确方法是什么?NS_ENUM和NS_OPTIONS如何工作?NS_OPTIONS用于掩码,如NSAutoresizing?谢谢.
Code from NSObjCRuntime.h
#define NS_ENUM(_type, _name) enum _name : _type _name; enum _name : _type
#define NS_OPTIONS(_type, _name) _type _name; enum : _type
Run Code Online (Sandbox Code Playgroud) 我一直在想为什么NSProxy类如此重要.为什么对象需要将其实例变量保存在其他对象中?我需要一些例子来了解何时使用它.谢谢!
为什么NSUInteger的值为2 ^ 32 - 1而不是2 ^ 32?这个事实与纳米值的需要之间是否存在关系?这太令人困惑了.
我想确保指针myFunction()返回的值是可用的,当它不是Obj-C对象时.
double * vectorComponents (); //Just an example
double * vectorComponents ()
{
double componentSet[] = {1, 2, 3};
return componentSet;
}
Run Code Online (Sandbox Code Playgroud)
如何动态分配这些变量然后如何解除它们.如果我什么都不做就行不通.感谢大家.
NSLog(@":)");
Run Code Online (Sandbox Code Playgroud) 有人告诉我,Objective-C中的BOOL是unsigned char的typedef,YES&NO关键字是编码字符.这不是我第一次听到它.我已经看过这是因为Apple在C标准之前使用BOOL提供了一个_Bool类型,我错了吗?这个事实有什么好处吗?我们在浪费一些记忆吗?这是否提供了在函数中返回有价值数据的方法?在发生某些意外行为时,将它用作返回不同值的方法是否正确?
BOOL myFunction(int argument)
{
BOOL result = YES; //The function generates the result
if (someError == YES) {
return 5;
}
return result;
}
Run Code Online (Sandbox Code Playgroud) 这是我的第一个Grand Central Dispatch代码,但它不起作用.使用Mac OS X 10.8和最新的Xcode版本.我知道这太基础了.谢谢.
#import <Foundation/Foundation.h>
#import <dispatch/dispatch.h>
void printResult(int r);
void printResult(int r)
{
NSLog(@"%i", r);
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
dispatch_queue_t queue = dispatch_queue_create("myQueue", NULL);
dispatch_async(queue, ^{
int number = pow(2, 5);
dispatch_async(dispatch_get_main_queue(), ^{
printResult(number);
});
});
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) objective-c ×6
cocoa ×5
ios ×2
allocation ×1
boolean ×1
concurrency ×1
dynamic ×1
enums ×1
foundation ×1
nan ×1
nsproxy ×1
nsuinteger ×1
proxy ×1