小编Chi*_*iya的帖子

原子和非原子属性之间有什么区别?

财产申报中的含义atomicnonatomic含义是什么?

@property(nonatomic, retain) UITextField *userName;
@property(atomic, retain) UITextField *userName;
@property(retain) UITextField *userName;
Run Code Online (Sandbox Code Playgroud)

这三者之间的运作区别是什么?

properties atomic objective-c ios nonatomic

1828
推荐指数
20
解决办法
47万
查看次数

swift init在objective-C中不可见

我正在尝试创建init函数Swift并从中创建实例Objective-C.问题是我没有在Project-Swift.h文件中看到它,我在初始化时无法找到该功能.我有一个定义如下的函数:

public init(userId: Int!) {
    self.init(style: UITableViewStyle.Plain)
    self.userId = userId
}
Run Code Online (Sandbox Code Playgroud)

我甚至尝试过@objc(initWithUserId:),我再次遇到同样的错误.还有什么我想念的吗?如何让构造函数对Objective-C代码可见?

我为此阅读了以下内容:

https://developer.apple.com/library/ios/documentation/swift/conceptual/swift_programming_language/Initialization.html

https://developer.apple.com/library/ios/documentation/swift/conceptual/buildingcocoaapps/interactingwithobjective-capis.html

如何在Swift中编写Init方法

如何在Swift协议中定义可选方法?

objective-c uitableview swift

28
推荐指数
2
解决办法
1万
查看次数

从类方法调用实例方法

所以我需要从Objective-C中的类方法调用一些实例方法...

示例:

+(id)barWithFoo:(NSFoo *) {
[self foo]; //Raises compiler warning. 
}

-(void)foo {
//cool stuff
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题; StackOverFlow是你如何在Objective-C中做这些事情的,我是OOP的新手,所以我是疯了,还是有办法做到这一点?

oop cocoa cocoa-touch objective-c

17
推荐指数
2
解决办法
1万
查看次数

C/Objective C中的switch语句

我是Objective-C的新手,但是从我所知道的关于switch语句的所有内容来看,下面的代码不应该打印任何内容,因为对我来说似乎应该有一个编译错误.但是打印出2.我不懂为什么.有人可以解释一下吗?

- (void) test {
    int myVar = 2;

    switch (myVar) {
        case 1:
        {
            NSLog(@"result: %d", myVar);
            break;

            case 2:
            {
                NSLog(@"result: %d", myVar);
            }
            break;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c objective-c switch-statement

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

更改 UICollectionView 的默认辅助功能行为

UICollectionView我正在尝试在 viewController 中的a 以及其他 2 个 UI 元素中实现可访问性。

CollectionView 中有 3 个单元格(水平滚动),第二个单元格当前可见。

现在,我单击第一个 UI 元素,如果我通过辅助功能导航到 collectionView,那么它会将我带回到第一个单元格而不是第二个单元格(这是默认行为)。

如何以这样的方式实现它:当我通过可访问性从第一个 UI 元素导航到 colllcetionView 时,它会到达最后一个可见单元格(在本例中为第二个单元格)?

xcode accessibility ios uicollectionview swift

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

DELETE请求的延迟很大,有204个响应,Objective-C中没有内容

我有iOS应用程序的问题(我不是iOS开发人员,我负责该应用程序使用的API)和DELETE请求.

Api使用了204个响应,没有DELETE请求的内容,到目前为止,所有客户端应用程序都运行正常,没有任何问题.

问题是当使用NSUrlConnection时,所有这些DELETE请求要么处理超过60秒,要么因超时而失败.

此行为仅在iOS实现中可见,其他客户端在不到100毫秒内获得完全相同请求的响应.

这是常见的行为吗?有谁知道任何修复,希望不需要API重建?

创建以下代码只是为了模拟这种行为并在API开发团队方面复制问题,但问题是相同的(当然,访问令牌模糊,身份验证工作正常):

//
//  ViewController.m
//  NoteablesTest

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *loadingLabel;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [_loadingLabel setHidden:true];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (IBAction)didButtonTouched:(id)sender {
    NSString *url = @"https://api.noteables.com/editing-session/c180af93-ad3a-4751-a96a-dc47ff7732d4";
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url]];

    [request setHTTPMethod:@"DELETE"];

    [request setValue:@"Bearer XXXX" …
Run Code Online (Sandbox Code Playgroud)

iphone api objective-c ios

5
推荐指数
2
解决办法
926
查看次数

如何将SAML与iOS Native App集成?

如何在iOS应用中将本地代码用于SAML集成?我有一个的Objective-C应用程序iOS > iOS7。有没有办法使用本机代码调用SAML身份验证?

objective-c saml ios

5
推荐指数
0
解决办法
600
查看次数

swift:Xcode无法为Facebook框架生成Swift表示

我尝试使用Swift将facebook集成到我的应用程序中.我已经在我的应用程序中下载了Facebook SDK.fecebook SDK在Objective-C中.为了在Swift中连接Objective-C文件,我正在创建一个Bridging-Header.h文件并导入FBSDKCoreKit/FBSDKCoreKit.h和FBSDKLoginKit/FBSDKLoginKit.h文件.

但是,打开它时无法连接到它我收到如下错误消息:

在此输入图像描述

我在Build Settings中设置了以下内容:

  1. Objective-C桥接标题.
  2. 框架搜索路径

但我没有连接到它.

如果有人有任何线索,这将是伟大的.

facebook swift bridging-header

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

Objective-C中是否可以使用Object数组?

我对Objective-C很新.创建对象数组时遇到问题.在java中,可以创建对象数组,并可以直接访问各个实例.

例如,

SomeClass[] instance = new SomeClass[10];
instance[i].var=10;
Run Code Online (Sandbox Code Playgroud)

在Objective-C中有没有办法做到这一点?我可以使用索引直接访问对象数组中的实例变量吗?一个例子是更多的帮助.提前致谢

arrays objective-c

4
推荐指数
2
解决办法
6706
查看次数

#defines in objective-c

#defines如何在Objective-C中工作?

我有C/C++的背景,我现在正在尝试选择Objective-C.#defines似乎在objective-c中的工作方式与它们在c和C++中的工作方式相同,其中编译器只是将所有对定义的引用替换为它们应该表示的内容.

当我尝试在Objective-C中使用#defines时,它们有时只能工作.就像我做这样的事情;

#define NUMBER 5

int myArray[NUMBER];
Run Code Online (Sandbox Code Playgroud)

我得到编译器错误,说有一个方括号丢失,如果我使用这一行而不是它工作正常;

int myArray[5];
Run Code Online (Sandbox Code Playgroud)

当然这些都应该是一回事吗?

此外,如果我尝试在任何类型的方程中使用#define值,我会得到类似的编译器错误.这段代码不起作用;

#define NUMBER 5

float var = NUMBER * 0.2;
Run Code Online (Sandbox Code Playgroud)

哪个好,

float var = 5 * 0.2;
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么会这样,或者Objective-C编译器如何以不同的方式处理#defines.顺便说一下,我正在使用XCode,只是因为这会产生影响.

xcode objective-c c-preprocessor

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

如何在 Swift 3.0 中将字符串转换为 UIColor?

我正在尝试将使用预定义颜色列表的现有程序从 Objective-C 转换为 Swift。原始代码使用 Selector 提取一个UIColor基于它的名称表示为NSString

#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

-(UIColor *)getColor:(NSString*)colorName
{
    SEL selColor = NSSelectorFromString(colorName);
    NSString *errorMessage = [NSString stringWithFormat:@"Invalid color name: %@ !!!", colorName];
    NSAssert([UIColor respondsToSelector:selColor] == YES, errorMessage);
    UIColor *mycolor = [UIColor performSelector:selColor];
    return mycolor;
}

+ (instancetype)turquoiseColor {
    return UIColorFromRGB(0x40E0D0);
}

+ (instancetype)mediumTurquoiseColor {
    return UIColorFromRGB(0x48D1CC);
}
Run Code Online (Sandbox Code Playgroud)

但是,我一直无法弄清楚如何使用 Swift 3.0 实现相同的功能,或者使用 Selector 是否是最好的技术。

func UIColorFromRGB(_ rgbValue: UInt) -> UIColor …
Run Code Online (Sandbox Code Playgroud)

selector uicolor ios swift3

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

xamarin是否使用LLVM编译器

据我所知,Xamarin将c#转换为二进制文件,并使用mtouch做到这一点。

LLVM是将Objective-C覆盖为二进制代码的XCode方式。

因此,Xamarin不使用LLVM。

请纠正我,如果我错了

xcode llvm ios xamarin xamarin-studio

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

UIImageView 中的 Swift 4 UIButton 操作不起作用

我正在尝试添加删除按钮作为图像中的子视图。这是我当前的结构: -> class DesignViewController: UIViewController | -> class Sticker: UIImageView, UIGestureRecognizerDelegate | -> UI button inside the Sticker

在 Sticker 类中我有:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    let button2 = UIButton(frame: CGRect(x: 100, y: 100, width: 100, height: 50))
    button2.backgroundColor = .red
    button2.setTitle("Delete", for: .normal)
    button2.tag = 23
    button2.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)        
    self.addSubview(button2)
}

@objc func buttonAction(sender: UIButton!) {
    print("Button tapped")        
}
Run Code Online (Sandbox Code Playgroud)

没有buttonAction被调用。当我将self.addSubview(button2)线路更改为:

self.superview?.addSubview(button2)
Run Code Online (Sandbox Code Playgroud)

我可以看到buttonAction有人打电话。不过,我想将按钮保留在贴纸视图内,以便当用户移动贴纸时,按钮会作为子视图随之移动。

谁能帮忙并让我知道如何将按钮保留在贴纸视图中?

uibutton uiimageview ios swift4

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