为啥我的linux中没有eth0而是enpls0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我的linux中没有eth0而是enpls0相关的知识,希望对你有一定的参考价值。

某些linux发行版网卡命名不再遵从原有的命名规则而启用了最新的命名方式,根据固件、拓扑及位置信息分配固定名称。这个命名方法的优点是完全自动且可预测,即使添加或者删除硬件也不会变化(未 发生重新列举),且可以在不产生任何影响的情况下替换破坏的硬件。

目前 udevd 本身就支持下列命名方案。
方案 1
合并固件或者 Bios 的名称为板载设备提供索引号的名称,例如:eno1。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 2 作为备选。
方案 2
合并固件或者 BIOS 的名称提供 PCI 快捷热插拔插槽索引号的名称,例如 ens1。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 3 作为备选。
方案 3
合并硬件连接器物理位置的名称,例如:enp2s0。如果固件信息适用且可用,则 systemd 默认情况下根据这个方案命名接口,同时使用方案 5 作为备选。
方案 4
合并接口 MAC 地址的名称,例如:enx78e7d1ea46da。默认情况下 systemd 不会根据这个方案命名接口,但如果需要可以启用这个功能。
方案 5
传统的不可预测内核属性 ethX 命名,例如:eth0。如果其他所有方法都失败,systemd 就根据这个方案命名接口。
参考技术A 名字不同而已,有的驱动以太网卡名字缺省不是eth

为啥我的 uipagecontrol 第一次没有正确更新,而是第二次通过 Xcode

【中文标题】为啥我的 uipagecontrol 第一次没有正确更新,而是第二次通过 Xcode【英文标题】:Why is my uipagecontrol not updating correctly the 1st time, but is on the 2nd time through Xcode为什么我的 uipagecontrol 第一次没有正确更新,而是第二次通过 Xcode 【发布时间】:2016-08-16 21:03:46 【问题描述】:

我的 UICollectionView 中嵌入了 UIPageControl。每个页面都有自己的指定页面,我已将其拆分为集合视图单元格。当我滑动到第二页时,页面控制指示器保持在 1,当我滑动到第三页时,它会正确更新到第三个指示器。当我滑动回到第 2 页时,页面控件现在显示正确的指示器。它每次都会发生,仅适用于第二页。

这是我的一些代码:

在带有集合视图的主控制器上,

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell 
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cellId", forIndexPath: indexPath) as! ItemImageCell

    if let imageURL = self.featuredItem.itemImageNames 
        cell.itemImageURL = imageURL[indexPath.item]
        cell.pageControl.currentPage = indexPath.item
        cell.pageControl.numberOfPages = imageURL.count
    
    return cell

在 cellView 类中,

let pageControl: UIPageControl = 
    let pageControl = UIPageControl()
    pageControl.pageIndicatorTintColor = UIColor.grayColor()
    pageControl.currentPageIndicatorTintColor = UIColor.blackColor()
    return pageControl
()

override func setupViews() 
    backgroundColor = UIColor.whiteColor()
    addSubview(pageControl)

    addConstraint(NSLayoutConstraint(item: pageControl, attribute: .CenterX, relatedBy: .Equal, toItem: self, attribute: .CenterX, multiplier: 1, constant: 0))


我是不是设置不正确?

编辑:

featuredItem 模型类:

class FeaturedItem: NSObject 

    var itemImageNames: [String]?
    var itemTitle: String?
    var itemHighlight: String?
    var itemDescription: String?
    var itemURL: String?



【问题讨论】:

条件let 是否可能不正确? IE。 self.featuredItem.itemImageNames 可以为零吗?你是在后台加载这个吗? 您好 Paulw11,featuredItem 正在通过 json 解析器加载。解析会填充 featuresItem 中的信息,包括 itemImageNames 字符串数组。在页面加载 featuresItem.itemImages 为 nil,在模型对象中设置为可选。我已经添加了代码来查看。 当你设置 uiview 时重新加载你的集合视图。 【参考方案1】:

由于您的self.featuredItem.itemImageNames 最初可能为零,因此页面控件可能设置不正确。您可以尝试在重新加载数据后重新加载您的集合视图

但是,数据源方法cellForItemAtIndexPath 可能是更新页面指示器的不良位置;当集合视图需要一个单元格时调用它,不一定在它显示一个单元格时调用。它可以在用户滚动之前调用以预取一个单元格,或者如果集合视图已经缓存了该单元格(例如快速左/右/左滚动),则它可能不会在用户滚动时调用。

你应该在委托方法willDisplayCell:forItemAtIndexPath:中更新你的页面指示器

func collectionView(collectionView: UICollectionView,
        willDisplayCell cell: UICollectionViewCell,
        forItemAtIndexPath indexPath: NSIndexPath) 

        guard let myCell = cell as? ItemImageCell, 
                  imageURL = self.featuredItem.itemImageNames else 
            return
        
        myCell.pageControl.currentPage = indexPath.item
        myCell.pageControl.numberOfPages = imageURL.count

【讨论】:

感谢您的建议,我认为这可行,但函数返回 UICollectionViewCell,而我创建了一个名为 ItemImageCell 的自定义单元格。有没有办法将单元格向下转换为我的自定义单元格? 仍然显示相同的问题,似乎是预取的。 加载完成后可能需要重新加载collectionview 奇怪的是它适用于所有其他页面,包括相关页面,它只是第一次通过 - 当前页面设置为零。 Paulw11,这是关于 UICollectionView 的 cellforItemAtIndexPath 和 willDisplayCell 方法使用的有用知识。【参考方案2】:

在另一篇文章中,我能够找到解决问题的方法。

Why is not updated currentPage indicator on UIPageControl?

具体来说,我使用 Paulw11 解决方案的建议将当前的 cellForItemAtIndexPath 实现更改为以下内容:

func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) 

    guard let myCell = cell as? ItemImageCell, imageURL = self.featuredItem.itemImageNames else 
        return
    
    myCell.pageControl.numberOfPages = imageURL.count
    myCell.pageControl.currentPage = indexPath.item

并在设置 currentPage 变量之前设置 numberOfPages 变量。

【讨论】:

我已更新我的答案以包括我对代码所做的更改,抱歉我是新用户...这是更好的答案吗?【参考方案3】:

其实解决方法很简单。 您需要先分配numberOfPages,然后再分配currentPage。

所以把它们翻过来就可以了。

【讨论】:

以上是关于为啥我的linux中没有eth0而是enpls0的主要内容,如果未能解决你的问题,请参考以下文章

我在ifconfig时 为啥提示这样啊

ubuntu linux装后为啥不能上网啊??÷

为啥我的网站没有重定向到社交网站而是 mydomain/facebook?

为啥我的网站没有加载,而是出现此错误 - “Smarty:无法写入文件”?

ubuntu里终端中eth0为啥没有显示IP地址

linux下输入ifconfig命令,没有eth0,怎么解决?