小编Pra*_*wal的帖子

Swift中的不可变/可变集合

我指的是Apple的Swift编程指南,用于理解用Swift语言创建Mutable/immutable对象(Array,Dictionary,Sets,Data).但我无法理解如何在Swift中创建不可变的集合.

我想在Objective-C中看到Swift中的等价物

不可变阵列

NSArray *imArray = [[NSArray alloc]initWithObjects:@"First",@"Second",@"Third",nil];
Run Code Online (Sandbox Code Playgroud)

可变阵列

NSMutableArray *mArray = [[NSMutableArray alloc]initWithObjects:@"First",@"Second",@"Third",nil];
[mArray addObject:@"Fourth"];
Run Code Online (Sandbox Code Playgroud)

不变字典

NSDictionary *imDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil];
Run Code Online (Sandbox Code Playgroud)

可变字典

NSMutableDictionary *mDictionary = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"Value1", @"Key1", @"Value2", @"Key2", nil];
[mDictionary setObject:@"Value3" forKey:@"Key3"];
Run Code Online (Sandbox Code Playgroud)

objective-c mutable immutability ios swift

83
推荐指数
4
解决办法
8万
查看次数

将HEX NSString转换为NSData

我正在尝试将十六进制转换NSStringNSData(我正在使用下面附加的代码).以下是输出:

<00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000>
Run Code Online (Sandbox Code Playgroud)

这看起来与我完全无关.关于哪里出错的任何想法/建议?

NSString *strData = @"72ff63cea198b3edba8f7e0c23acc345050187a0cde5a9872cbab091ab73e553";

NSLog(@"string Data length is %d",[strData length]);

NSMutableData *commandToSend= [[NSMutableData alloc] init];
unsigned char whole_byte;
char byte_chars[2];
int i;
for (i=0; i < [strData length]/2; i++) {

    byte_chars[0] = [strData characterAtIndex:i*2];
    byte_chars[1] = [strData characterAtIndex:i*2+1];
    whole_byte = strtol(byte_chars, NULL, [strData length]);
    [commandToSend appendBytes:&whole_byte length:1]; 
}
NSLog(@"%@", commandToSend);    
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsstring nsdata ios

39
推荐指数
3
解决办法
2万
查看次数

将NSData转换为int

我有一个NSData对象,长度是4个字节.这四个字节我从另一个NSData对象中提取,使用,

fourByteData=[completeData subdataWithRange:NSMakeRange(0, 16)];
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是,上面的语句是否会为我提供完整数据的前四个字节.

如果是,那么如何将所有这些字节转换为等效的int.

iphone objective-c nsdata ipad

20
推荐指数
4
解决办法
3万
查看次数

Apple应用程序内购买

在设备上的SANDBOX环境中测试In-App-Purchase时,我记录了以下错误:

错误域= SKErrorDomain代码= 0"无法连接到iTunes Store"UserInfo = 0x2916a0 {NSLocalizedDescription =无法连接到iTunes Store} .t

我能够检索我通过iTunes Connect注册的产品ID.我在桌面视图中显示与这些产品相关的数据以及购买选项.当我尝试购买产品时,会启动交易,但它不会询问我任何测试用户的详细信息,并且我得到上述错误.

我正在提供我实现的代码.

    //the below code is for RETREIVING THE PRODUCT id's

#pragma mark Store kit
-(IBAction)sendProductInfoRequest{
NSLog(@"sendProductInfoRequest");

NSSet *identifiersSet=[NSSet setWithObjects:[NSString stringWithFormat:@"%@",@".15April2011"],[NSString                          stringWithFormat:@"%@",@"15April201102"],nil];
SKProductsRequest *productRequest=[[SKProductsRequest alloc] initWithProductIdentifiers:identifiersSet];
productRequest.delegate=self;
[productRequest start];
NSLog(@"completing sendProductInfoRequest");
}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSLog(@"yoooo!");
NSLog(@"The product request didReceiveResponse :%@",[response description]);
NSLog(@"The products are :%@",[response.products description]);

NSLog(@"The invalidProductIdentifiers are:%@",[response.invalidProductIdentifiers description]);

NSArray *products=response.products;



for(SKProduct *currentProduct in products){

NSLog(@"THE Product price is :%@",currentProduct.price);
NSLog(@"THE Product description …
Run Code Online (Sandbox Code Playgroud)

iphone in-app-purchase ipad

7
推荐指数
1
解决办法
5564
查看次数

将大量数据写入NSData对象-iOS

我有一个大约2GB的视频文件.此视频文件的标头已加密(大约528字节加密).为了解密这个视频文件,我正在将文件中的所有字节读入NSData对象.一旦我将这个文件写入NSData对象,我的应用程序崩溃了(可能是b'co​​z max-256MB RAM for iPad).

那么我如何暂时将这个NSData对象存储到iPad/iPhone的虚拟内存中呢?

通过哪种方式我可以达到同样的目的?

iphone memory-management objective-c ios

7
推荐指数
1
解决办法
2256
查看次数

ScrollView ContentOffset和ZoomScale

随着ScrollView ZoomScale降低或增加ScrollView contentOffset.X和contentOffset.Y的最大值,分别减少或增加.我们能否以编程方式推断出ZoomScale与最大contentOffset.x之间的关系?如果是这样,请给出相同的逻辑.

iphone

6
推荐指数
1
解决办法
3097
查看次数

应用程序商店拒绝应用程序

这是Apple连续第二次拒绝我的申请,理由如下.

以下是苹果拒绝我申请的原因.

在此输入图像描述

当我在测试In-App-Purchase时,我可以使用我的测试用户帐户购买所有产品.我的应用程序内购买的当前状态是READY TO SUBMIT.

有人可以告诉我我错过了什么.

iphone in-app-purchase appstore-approval

6
推荐指数
1
解决办法
3655
查看次数

绘制有角度/旋转的多线文本 - 核心文本+核心图形

经过几个博客和论坛后,我没有找到一个合适的解决方案,用于在视图上下文中使用核心文本绘制倾斜/倾斜文本.

所以这是怎么回事.

我有一个视图,它- (void)drawRect:(CGRect)rect被调用来在屏幕上绘制一个字符串(多行或单行文本).

码:

- (void)drawRect:(CGRect)rect
{
    NSString *text = @"This is some text being drawn by CoreText!\nAnd some more text on another line!";

    //Core Text (Create Attributed String)

    UIColor *textColor = [UIColor blackColor];
    CGColorRef color = textColor.CGColor;

    CTFontRef font = CTFontCreateWithName((CFStringRef) @"HelveticaNeue", 20.0, NULL);

    CTTextAlignment theAlignment = kCTTextAlignmentLeft;

    CFIndex theNumberOfSettings = 1;
    CTParagraphStyleSetting theSettings[1] =
    {
        { kCTParagraphStyleSpecifierAlignment, sizeof(CTTextAlignment),
            &theAlignment }
    };

    CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(theSettings, theNumberOfSettings);

    NSDictionary *attributesDict = [NSDictionary dictionaryWithObjectsAndKeys:
                                    CFBridgingRelease(font), (NSString …
Run Code Online (Sandbox Code Playgroud)

iphone core-graphics objective-c core-text ios

6
推荐指数
1
解决办法
3831
查看次数

设置自定义创建的串行异步队列的优先级

如何使用GCD为自定义创建的串行异步队列设置高优先级?

我看了一下这个Q&A,其中建议使用dispatch_set_target_queue()&Pass High Priority Queue(DISPATCH_QUEUE_PRIORITY_HIGH)作为自定义串行异步队列的并发队列.

我的理解是,这将使串行队列上的所有任务同时执行.我的理解是否正确?如果是这样,什么是替代解决方案?

multithreading objective-c grand-central-dispatch ios thread-priority

6
推荐指数
2
解决办法
2681
查看次数

在应用程序内购买

为了在Sandbox环境中测试In-App-Purchases,是否有必要让IOS付费应用程序合同生效(已完成)?

iphone in-app-purchase

4
推荐指数
1
解决办法
2702
查看次数