小编Ben*_*ynn的帖子

UITableViewCellAccessoryCheckmark的默认颜色是什么?

我希望我选择的单元格中的文本与UITableViewCellAccessoryCheckmark附件的颜色相同.这是作为一个常量存储在某个地方吗?如果没有,它作为RGB的价值是什么?

cocoa-touch uitableview ios

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

我应该发布我创建的NSThread吗?

我可能会过度思考这个问题.

// Inside some method...
NSThread *thread = [[NSThread alloc] initWithTarget:functionWrapper selector:@selector(run) object:nil];
[thread start];
Run Code Online (Sandbox Code Playgroud)

[thread release]在此之后调用:A.避免内存泄漏并且是必要的或...... B.会破坏事物.

这个问题的答案表明线程在完成执行时会自行释放,但是这种行为记录在哪里?

memory-management objective-c ios

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

在Storyboard中创建FBProfilePictureView

UIView使用storyboard编辑器在视图控制器的主视图中创建了一个内部,并将其类更改为FBProfilePictureView.

在此输入图像描述

我创建了一个出口:

@property (weak, nonatomic) IBOutlet FBProfilePictureView *userImage;
Run Code Online (Sandbox Code Playgroud)

但是,当我userImage在代码中引用对象时,它将自己报告为UIView.

NSLog(@"userImage class: %@", [userImage class]);
Run Code Online (Sandbox Code Playgroud)

生产:

2012-08-28 17:52:22.196 FBTestApp[6230:707] userImage class: UIView
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

objective-c ios facebook-ios-sdk

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

主机支持TLS 1.2,AFNetworking握手失败

我试图发布到支持TLS 1.2的服务器 - 至少当我在浏览器中执行GET时,我可以验证通信是否使用TLS 1.2并且证书由证书颁发机构验证.但是,当我尝试使用AFNetworking iOS 9.0(13A4305g)/ Xcode 7-beta4将我的代码POST到该服务器时,我得到握手失败.

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFHTTPRequestSerializer serializerWithContentType:@"application/x-www-form-urlencoded"];    
manager.responseSerializer = [AFJSONResponseSerializer serializer];    
[manager POST:requestString parameters:@{ @"apiKey" : MY_API_KEY,
                                          @"payload" : [MyParams paramsForPOSTAsJSON] }
  success:^(AFHTTPRequestOperation *operation, NSDictionary *responseDict) {
      ...
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
      myLog(@"Communication failed: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)

失败:

2015-08-06 15:01:08.398 MyApp[1795:394055] CFNetwork SSLHandshake failed (-9824)
2015-08-06 15:01:08.409 MyApp[1795:394055] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
2015-08-06 15:01:08.412 MyApp[1795:393999] MyClass sendDataToServer Communication failed: Error Domain=NSURLErrorDomain Code=-1200 "An SSL error …
Run Code Online (Sandbox Code Playgroud)

ssl ios afnetworking ios9

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

在Objective-C中声明一个C++类

我正在编写一个Objective-C类,需要在C++类实例上进行函数调用.我发现了这个建议,但如果我尝试它,我会因为'struct MyCPlusPlusClass'类型的定义不完整而出错

struct MyCPlusPlusClass;

typedef struct MyCPlusPlusClass MyCPlusPlusClass;

@interface MyBridgeClass() {
    MyCPlusPlusClass *my_CPlusPlus;
}

...

- (id)initWithMrGame:(MyCPlusPlusClass *)cPlusPlus
{
    self = [super init]; 
    if (self) {
        my_CPlusPlus = cPlusPlusClass;
        my_CPlusPlus->p_favorite_integer = 0; // Compiler error
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

实际定义发生在由预编译器生成的.mm文件中,只是为了添加另一层挑战.

我怎么能让这个工作?

编辑:解释亚当的答案

// in MyCode.h

struct MyCPlusPlusClass;  // Forward declaration, no need for #include/#import

@interface MyBridgeClass() {
    struct MyCPlusPlusClass *my_CPlusPlus;
}


// in MyCode.m
#include MyCode.h


// in BigGenerateFile.mm
class MyCPlusPlusClass;

class MyCPlusPlusClass { ... }
Run Code Online (Sandbox Code Playgroud)

我的目标是能够在MyCode.m中使用MyCPlusPlusClass,但我不能包含.mm文件,因为编译器非常不满意.这件事的架构方式可能会让我走的路不同.

c++ objective-c

0
推荐指数
1
解决办法
1753
查看次数