小编Mih*_*naz的帖子

NSTimer userInfo.对象如何传递给选择器?

我有这个代码:

-(void)startRotation:(RDUtilitiesBarRotation)mode {
    rotationTimer = [NSTimer scheduledTimerWithTimeInterval:0.1f target:self selector:@selector(rotateSelectedItem:) userInfo:[NSNumber numberWithInt:mode] repeats:YES];
}
-(void)rotateSelectedItem:(NSNumber*)sender {
    float currAngle = [selectedItem currentRotation];
    if ([sender intValue] == RDUtilitiesBarRotationLeft) {
        [selectedItem rotateImage:currAngle - 1];
    }
    else {
        [selectedItem rotateImage:currAngle + 1];
    }
}
-(void)stopRotation {
    [rotationTimer invalidate];
    rotationTimer = nil;
}
Run Code Online (Sandbox Code Playgroud)

当用户按住按钮时,目标开始旋转视图.当用户释放它时,计时器将停止.

但我这样说:

- [__ NSCFTimer intValue]:无法识别的选择器发送到实例0x4ae360

但是,如果我在userInfo中调用一个NSNumber类,为什么我要收到定时器?

谢谢.

nstimer userinfo ios

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

使用Google Calendar API加载图书馆 - Obj C.

dyld:未加载库:@loader_path /../ Frameworks/GTL.framework/GTL参考自:/var/mobile/Containers/Bundle/Application/2EE31349-7221-47AF-83E7-7B172F5ED6AD/MyApp.app/MyApp原因:图像未找到

我试着加入GTL.framework嵌入式二进制文件,但是这并没有帮助.任何想法可能是错的.我创建了一个工作区,并按照教程中给出的说明进行操作:https: //developers.google.com/google-apps/calendar/quickstart/ios

它在模拟器上工作正常,但当我尝试在我的设备上运行它时,会给我上述错误.有任何想法吗?

我正在运行Xcode 7.2.1和iOS 9.2

编辑

我已经尝试更改GTLiOSCoreto 的安装路径,@executable_path/../Frameworks但这并没有解决任何问题.

google-calendar-api objective-c ios

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

为什么要使用嵌套类?

做 Objective-C 已经 5 年了,所以请耐心等待。

我正在努力寻找清楚地解释为什么要在另一个内部嵌套类定义的文档。

如果我有两个像下面这样的类,对我来说它们被声明在彼此之上和之下是有意义的。您甚至可能想要一个引用另一个的嵌套属性。

class DataImporter {
     }

class DataGenerator {
     }
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么像下面这样的嵌套安排会有用。

class DataImporter {
     class DataGenerator {
     } }
Run Code Online (Sandbox Code Playgroud)

nest swift

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

Android Pay:公共,私钥对生成(带NISTP-256的椭圆曲线)

Android Pay问题

在Android Pay中,从信用卡生成令牌的过程如下:

生成公钥和私钥(下面的调用使用带有NISTP-256算法的椭圆曲线返回键)

为此,我打电话给...

public static KeyPair generateKeyPair() {
  KeyPair pair =null;
  try {
    ECGenParameterSpec ecGenSpec = new ECGenParameterSpec("prime256v1");
    java.security.KeyPairGenerator g = KeyPairGenerator.getInstance("EC");
    g.initialize(ecGenSpec, new SecureRandom());
    pair = g.generateKeyPair();
    pair.getPrivate();
    pair.getPublic();
  }catch (Throwable e ){
    e.printStackTrace();
  }
  return pair;
}
Run Code Online (Sandbox Code Playgroud)

...这成功返回公钥和私钥,但我不确定密钥的格式/编码是什么.我找不到任何关于此的文档.

问题1:这是为Android Pay生成公钥和私钥的正确方法吗?

将base64编码格式的公钥传递给Android Pay createMaskedWalletRequet方法(详情请参阅Android Pay文档)

String publicKey = String (Base64.encodeBase64(pair.getPublic().getEncoded()));

PaymentMethodTokenizationParameters parameters = PaymentMethodTokenizationParameters.newBuilder().setPaymentMethodTokenizationType(PaymentMethodTokenizationType.NETWORK_TOKEN).addParameter("publicKey", publicKey).build();
Run Code Online (Sandbox Code Playgroud)

在这里,我得到以下异常:

03-30 17:02:06.459 3786-15263 /?E/WalletClient:错误验证MaskedWalletRequest.paymentMethodTokenizationParameters:参数"公钥"第一字节必须是0×04(表示未压缩的点格式)

问题2:你能帮我理解我做错了什么.我认为这可能与格式不匹配有关,但不确定,也不确定如何修复它.

感谢您的帮助!!

java android android-pay

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

Xcode在测试后没有退出

我正在使用ServerXcode 8.我看到了一个新功能,为了隔离测试,每个集成bot都会启动一个新的Xcode.但是在集成完成后它无法自行退出:)然后Xcode崩溃并且不能运行集成测试.

这有解决方案吗?

xcode-server xcode8

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

启动bonjour解决方案时出错错误

当我使用XCode开发我的iOS产品时,它偶尔会在我的iOS设备中崩溃.它总是发生在程序从后台到前面,而XCode显示为崩溃原因时:

[错误]启动Bonjour分辨率失败.

我找不到如何解决它,这让我非常沮丧.有人帮我吗?

截图在这里

crash xcode bonjour ios

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

nil与预期的参数类型'[NSObject:AnyObject]不兼容

我正在使用XCode 7.2Swift 2.2.我有一个接受a dictionary([NSObject : AnyObject])作为参数的函数.但是,我想在不使用该字典的情况下调用此函数,换句话说,通过使参数为nil.如果我这样做,就会抛出:

nil与预期的参数类型'[NSObject:AnyObject]不兼容

我的代码是

self.silentPostData(
  persist.getObject(
    mdmiosagent_Constants.SERVERNAMEKEY) as String, 
    serverport: persist.getObject(mdmiosagent_Constants.SERVERPORTKEY) as String,
    serverurl:  mdmiosagent_Constants.NATIVE_APP_SERVLET,
    parameters: nil ,
    urldata: jsonData
  )
)
Run Code Online (Sandbox Code Playgroud)

冲突中的参数是代码中的命名参数.先感谢您.

ios swift

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

Xcode:无法在Apple Watch Simulator上安装应用程序("将安装Watch App超时")

我尝试WatchKit Swift在XCode中的Watch Simulator中运行我的第一个应用程序,但它没有在Watch模拟器中显示此错误消息:

将安装Watch App超时.

我没有在互联网上找到任何类似的错误消息,我不知道该尝试什么.我运行Xcode 7.3,Mac OS X El Capitan 10.11.4.谢谢!!

xcode ios swift apple-watch watchkit

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

在 Swift 中将静态方法设置为 UITapGestureRecognizer 的操作

我正在以UIView编程方式在静态方法中创建一个,并希望添加UITapGestureRecognizer它将在我的Helper类中调用另一个静态方法。

Helper.swift

static func showLoadingPopUp(frame: CGRect) -> UIView {
  let transView = UIView.init(frame: frame!)       
  let tapGesture = UITapGestureRecognizer(target: self, action: "transViewTapped:")
  transView.addGestureRecognizer(tapGesture)
  return transView
}

static func transViewTapped(gesture: UITapGestureRecognizer) {
  print("Oh Tapped!!!")
}
Run Code Online (Sandbox Code Playgroud)

但它最终得到以下消息,可能是因为我的方法的静态性质。也是Helper.swift简单的 swift 类(不是UIViewUIViewController

错误:

无法识别的选择器 +[JaClassified.Helper transViewTapped:]

ios swift

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

当superView的比例改变时,绘制路径的CABasicAnimation不会缩放

我有一个绘制矩形到特定百分比的动画.

为此,我画了一个CAShapeLayer:

func drawTheLayer() -> CAShapeLayer {

    let lineWidth: CGFloat = borderWidth * bounds.size.width / standardSizeWidth
    let cornerRadiusResized: CGFloat = cornerRadiusRanged * bounds.size.width / standardSizeWidth
    let insetRect = CGRectInset(bounds, lineWidth/2.0, lineWidth/2.0)
    let apath = ShapeDraw.createRoundedCornerPath(insetRect, cornerRadius: cornerRadiusResized, percent: percentageRanged)
    let apathLayer = CAShapeLayer()

    apathLayer.frame = bounds
    apathLayer.bounds = insetRect
    apathLayer.path = apath
    apathLayer.strokeColor = AppColor.OnColor.CGColor
    apathLayer.fillColor = nil
    apathLayer.lineWidth = lineWidth
    apathLayer.lineJoin = kCALineJoinRound
    apathLayer.lineCap = kCALineCapRound
    apathLayer.geometryFlipped = true

    let flipTransform = CGAffineTransformMakeScale(1, -1)

    apathLayer.setAffineTransform(flipTransform)
    return apathLayer …
Run Code Online (Sandbox Code Playgroud)

calayer cabasicanimation cashapelayer swift

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