佚名通过本文主要向大家介绍了swift和oc的区别,oc swift,oc转swift,oc调用swift,oc代码转swift等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Swift无法调用OC的个别函数,求老司机指个路!感激不尽
描述:
已经添加好了桥文件,也import了,下面是ViewController.swift 部分代码
let pop = PopoverView()
pop. // 想调用这个函数 -(id)initWithPoint:(CGPoint)point titles:(NSArray *)titles images:(NSArray *)images;
在自动补全提示里就是找不到,自己输入后提示出错,PopoverView.h文件中其他声明过的函数都可以正常调用。
请老司机们给引引路! 跪谢!
解决方案1:
描述:
本人ios开发小白,遇到个大问题(至少对我来说是的),请各位大神帮帮忙。
在工程文件中导入了2个新OC文件准备使用(PopoverView.h / PopoverView.m)
PopoverView.h
// PopoverView.h
#import <UIKit/UIKit.h>
@interface PopoverView : UIView
-(id)aaaaa;
-(id)initWithPoint:(CGPoint)point titles:(NSArray *)titles images:(NSArray *)images;
-(void)show;
-(void)dismiss;
-(void)dismiss:(BOOL)animated;
@property (nonatomic, copy) UIColor *borderColor;
@property (nonatomic, copy) void (^selectRowAtIndex)(NSInteger index);
@end
已经添加好了桥文件,也import了,下面是ViewController.swift 部分代码
// ViewController.swift
@IBAction func button2(sender: UIButton) {
let point: CGPoint = CGPointMake(sender.frame.origin.x + sender.frame.size.width/2, sender.frame.origin.y + sender.frame.size.height)
print(point)
let title: NSArray = ["item1", "item2", "item3"]
let pop = PopoverView()
pop.
pop.selectRowAtIndex {
NSLog(@"select index:%d", index);
}
pop.show()
}
let pop = PopoverView()
pop. // 想调用这个函数 -(id)initWithPoint:(CGPoint)point titles:(NSArray *)titles images:(NSArray *)images;
在自动补全提示里就是找不到,自己输入后提示出错,PopoverView.h文件中其他声明过的函数都可以正常调用。
请老司机们给引引路! 跪谢!

解决方案1:
init 方法名字会被改掉的,你需要这么写
let pop = PopoverView(point: point, titles:title, images: images)