小编Hon*_*ney的帖子

如何在不使用ToString()的情况下将Int转换为C#中的String?

将以下int参数转换为字符串,而不使用任何本机toString功能.

public string integerToString(int integerPassedIn){    
    //Your code here
}
Run Code Online (Sandbox Code Playgroud)

既然一切都继承自Object并且Object有一个ToString()方法,你如何intstring不使用本机ToString()方法的情况下将a 转换为a ?

字符串连接的问题在于它会调用ToString()链直到它击中一个或命中Object该类.

如何在不使用C#的情况下将整数转换为字符串ToString()

c# string algorithm int

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

协议和代表之间的区别?

a protocol和a有delegate什么区别?

和,

我们怎样才能声明variablesprotocol class

delegates protocols objective-c ios

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

我可以在协议中使用init函数吗?

当我尝试以这种方式实现我的协议时:

protocol Serialization {
    func init(key keyValue: String, jsonValue: String)
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说:函数声明中的预期标识符.

为什么我收到此错误?

protocols initialization swift swift-protocols

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

如何在swift 3中使用addTarget方法

这是我的button对象

    let loginRegisterButton:UIButton = {
    let button = UIButton(type: .system)
    button.backgroundColor = UIColor(r: 50 , g: 80, b: 130)
    button.setTitle("Register", for: .normal)
    button.translatesAutoresizingMaskIntoConstraints = false
    button.setTitleColor(.white, for: .normal)
    button.addTarget(self, action:#selector(handleRegister), for: .touchUpInside)
    return button
}()
Run Code Online (Sandbox Code Playgroud)

这是我的功能

    func handleRegister(){

    FIRAuth.auth()?.createUser(withEmail: email, password: password,completion: { (user, error) in

        if error != nil
        { print("Error Occured")}

        else
        {print("Successfully Authenticated")}
    })        
}
Run Code Online (Sandbox Code Playgroud)

我收到编译错误,如果addTarget删除它成功编译

selector ios swift

54
推荐指数
5
解决办法
9万
查看次数

更改数组中struct的值

我想将结构存储在数组中,访问并更改for循环中结构的值.

struct testing {
    var value:Int
}

var test1 = testing(value: 6 )

test1.value = 2
// this works with no issue

var test2 = testing(value: 12 )

var testings = [ test1, test2 ]

for test in testings{
    test.value = 3
// here I get the error:"Can not assign to 'value' in 'test'"
}
Run Code Online (Sandbox Code Playgroud)

如果我将结构更改为类它可以工作.任何人都可以告诉我如何更改结构的值.

arrays struct swift

52
推荐指数
4
解决办法
3万
查看次数

cocoapods中"〜>"的用法是什么?

我想知道"〜>"用于什么,因为我发现它们在下面是相同的:

pod 'AFNetworking','~> 2.0.3'

pod 'AFNetworking','2.0.3'
Run Code Online (Sandbox Code Playgroud)

ios cocoapods podfile podfile-lock

51
推荐指数
4
解决办法
8430
查看次数

在swift中创建线程安全数组

我有快速的线程问题.我有一个包含一些对象的数组.在委托上,类每秒都会获得新对象.之后我必须检查对象是否已经在数组中,所以我必须更新对象,否则我必须删除/添加新对象.

如果我添加一个新对象,我必须首先通过网络获取一些数据.这是handelt经过一个街区.

现在我的问题是,如何同步这项任务?

我尝试了一个dispatch_semaphore,但是这个阻止了UI,直到块完成.

我还尝试了一个简单的bool变量,它检查块当前是否执行并同时跳过compare方法.

但这两种方法都不理想.

什么是管理阵列的最佳方式,我不想在阵列中有重复的数据.

arrays multithreading read-write ios swift

51
推荐指数
8
解决办法
4万
查看次数

didReceiveRemoteNotification:fetchCompletionHandler:从图标vs推送通知打开

我正在尝试实现后台推送通知处理,但是我在确定用户是否从发送的推送通知中打开应用程序时遇到了问题,而不是从图标打开它.

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

    //************************************************************
    // I only want this called if the user opened from swiping the push notification. 
    // Otherwise I just want to update the local model
    //************************************************************
    if(applicationState != UIApplicationStateActive) {
        MPOOpenViewController *openVc = [[MPOOpenViewController alloc] init];
        [self.navigationController pushViewController:openVc animated:NO];
    } else {
        ///Update local model
    }

    completionHandler(UIBackgroundFetchResultNewData);
}
Run Code Online (Sandbox Code Playgroud)

使用此代码,无论用户如何打开应用程序,应用程序都会打开MPOOpenViewController.我怎样才能使视图控制器只有在他们通过刷通知打开应用程序时才会被推送?

使用相同的代码,这适用于iOS 6,但使用新的iOS 7方法,它的行为并不像我想要的那样.

编辑:我正在尝试在iOS 7上运行应用程序,我们不支持iOS 7之前的任何版本.我在方法的iOS 6版本中使用了相同的确切代码(没有完成处理程序)并且它表现得很好我希望它的方式.你要刷通知,这将被调用.如果从图标打开,则永远不会调用该方法.

push-notification apple-push-notifications uiapplicationdelegate ios ios7

50
推荐指数
3
解决办法
4万
查看次数

如何使用UITableViewHeaderFooterView?

嗨,我想UITableHeaderFooterView在我的应用程序中使用,我这样做:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    [_tableView registerClass:[M3CTableViewCell class] forCellReuseIdentifier:@"cell"];
    [_tableView registerClass:[M3CHeaderFooter class] forHeaderFooterViewReuseIdentifier:@"footer"];

}

- (UITableViewHeaderFooterView *)footerViewForSection:(NSInteger)section {
    M3CHeaderFooter * footer = [[M3CHeaderFooter alloc]initWithReuseIdentifier:@"footer"];
    footer.textLabel.text = @"Test";
    return footer;
}
Run Code Online (Sandbox Code Playgroud)

通过这样做,我在Footer的地方得不到任何东西.而这种方法甚至没有被调用,但我认为这种方法是UITableViewDelegate协议的一部分.

objective-c uitableview ios

48
推荐指数
5
解决办法
7万
查看次数

AVPlayer和视频的屏幕截图

我试图AVPlayer在一个更大的视图内截取屏幕截图.我想只构建一个测试框架,所以私有APIs或任何方法都是好的,因为在发布到AppStore时不会包含框架.

我试过用

  • UIGetScreenImage() :在模拟器上运行良好但在设备上运行不正常
  • snapshotviewafterscreenupdates:它显示视图,但我不能创建一个UIImage.
  • drawViewInHierarchy并且renderInContext不会合作AVPlayer
  • 我不想AVAssetGenerator用于从视频中获取图像,很难获得良好的坐标或视频播放器作为其他视图的子视图

testing objective-c avfoundation ios avplayer

48
推荐指数
2
解决办法
4931
查看次数