我在斯威夫特文件中的一個初始化方法如下圖所示:如何調用多個PARAM斯威夫特初始化方法的目標C
public init(frame: CGRect, type: NVActivityIndicatorType? = nil, color: UIColor? = nil, padding: CGFloat? = nil) {
self.type = type ?? NVActivityIndicatorView.DEFAULT_TYPE
self.color = color ?? NVActivityIndicatorView.DEFAULT_COLOR
self.padding = padding ?? NVActivityIndicatorView.DEFAULT_PADDING
super.init(frame: frame)
isHidden = true
}
我想打電話從我的Objective-C的文件,這種方法,但它拋出錯誤同時編譯。
錯誤:
/用戶/桌面/舊 數據/ ChatScreenViewController.m:396:92:爲 'NVActivityIndicatorView' 不 可見@interface聲明選擇 「initWithFrame:方法類型:顏色:填充:」
的OBJ-C調用代碼:
NVActivityIndicatorView *objNVActivityIndicatorView = [[NVActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 100, 100) type:NVActivityIndicatorTypeLineScalePulseOut color:[UIColor blueColor] padding:10]
我試了一下:
新增@objc
我迅速類
@objc public final class NVActivityIndicatorView: UIView
仍可無法訪問上述方法。
我斯威夫特文件:NVActivityIndicatorView.swift
任何想法什麼問題呢?
謝謝提前!
請分享錯誤。 – KDeogharkar
增加了更多的細節,請檢查我更新的答案。 – CodeChanger
如果我沒有記錯,這個問題的原因將會是在init中使用默認參數值。請刪除該默認值並給它一個鏡頭。它應該工作。 – iamyogish